Laravel Excel로 Filament 내보내기 확장

발행: (2026년 6월 18일 AM 12:49 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

Filament의 내보내기 액션은 훌륭합니다. 설정하기 쉽고, 큐된 내보내기를 지원하며, 컬럼 매핑을 포함하고, 알림을 처리하고, Export 모델을 통해 생성된 파일의 역사를 유지합니다. 대부분의 사용 사례에겐 정확히 필요한 기능입니다.

하지만 최근에 네이티브 내보내기만으로는 해결할 수 없는 제한 사항을 마주했습니다.

Filament 테이블에서 재무 데이터나 측정을 내보내고 있었습니다. 내보내기는 정상적으로 동작했고, 파일이 다운로드되었고, Excel에서 문제 없이 열렸습니다.

문제는 모든 금액이 실제 숫자가 아닌 텍스트로 내보내어졌다는 점이었습니다.

회계사에게는 즉시 여러 문제가 발생합니다:

Excel 수식(예: =SUM())이 올바르게 작동하지 않습니다.

셀 범위를 선택해도 Excel 상태 표시줄에 총합이 표시되지 않습니다.

수치 기반 조건부 서식이 신뢰할 수 없게 됩니다.

파일을 사용하기 전에 추가적인 수동 청소가 필요합니다.

기술적으로 데이터는 포함되어 있었지만, 실질적으로는 사용할 수 없었습니다.

근본적인 원인은 간단합니다: Filament의 내보내기 시스템은 CSV 스타일 내보내기를 중심으로 설계되어 있습니다. 이는 많은 시나리오에 적합하지만, PhpSpreadsheet와 Laravel Excel이 제공하는 전체 스프레드시트 기능을 노출하지 못합니다.

그 외에도 또 다른 완전히 다른 요구 사항이 있었습니다: 월별 하나씩 워크시트를 갖춘 연간 보고서로, 헤더를 병합하고 테두리를 그리며, 조건부 서식을 적용하고 맞춤 레이아웃을 구성해야 했습니다. 단순히 테이블 데이터를 다umping하는 것이 아니라 보고서였습니다.

Laravel Excel은 이러한 모든 문제를 이미 해결하고 있습니다. 이는 PhpSpreadsheet 위에 구축되어 있으며, 셀 타입, 숫자 서식, 수식, 스타일링, 그리고 여러 워크시트에 대한 완전한 제어 권한을 제공합니다.

명백한 해결책은 Filament의 내보내기 액션을 완전히 포기하고 처음부터 커스텀 내보내기를 구축하는 것이었습니다. 하지만 그 방법은 Filament가 이미 제공하는 모든 것을 잃게 됩니다:

내보내기 모달과 옵션 폼
컬럼 매핑 UI
큐 처리
진행 알림
다운로드 링크
내보내기 모델 기록

그 모든 것을 다시 구축하고 싶지 않았습니다. 단순히 다른 파일 생성기 밑에 사용하고 싶었습니다.

전체 문서는 Filament Mastery의 무료 회원에게 제공됩니다 — 무료 계정을 만들어 완전한 코드에 액세스하세요.

0 조회
Back to Blog

관련 글

더 보기 »