컬렉션, 쿼리, Blade 뷰를 Excel 또는 CSV로 내보내고 스프레드시트를 Eloquent 모델로 가져오는 PhpSpreadsheet 기반 Laravel 래퍼입니다.
rap2hpoutre/fast-excel
OpenSpout 기반의 빠르고 메모리 효율적인 xlsx, ods, csv 파일 읽기·쓰기를 지원하는 Laravel 패키지입니다.
대체할 수 있는 제품:Laravel Excel
- 스타
- 2,393
- 포크
- 271
- 열린 이슈
- 3
- 마지막 커밋
- 9일 전
어떤 프로젝트인가요?
FastExcel은 스프레드시트 데이터를 가져오고 내보내는 Laravel 패키지입니다. OpenSpout 라이브러리를 Laravel에 친화적인 간결한 API로 감싸 Eloquent 모델, 쿼리 결과, 컬렉션 또는 제너레이터를 xlsx, ods, csv 파일로 내보낼 수 있고, 해당 형식의 파일을 컬렉션으로 가져오거나 행별 콜백으로 처리할 수 있습니다.
이 패키지는 메모리 사용량을 줄이는 데 중점을 둡니다. 커서, 제너레이터 또는 importLazy() 같은 지연 평가 소스를 전달하면 행을 한 번에 하나씩 스트리밍하므로 행 수가 늘어도 최대 메모리 사용량은 대체로 일정하게 유지됩니다. 반면 메모리에 로드된 컬렉션은 먼저 전체를 메모리에 올리기 때문에 대용량 데이터에서는 PHP의 memory_limit을 초과할 수 있습니다. 이 프로젝트는 기능을 줄여 더 가볍게 만든 Laravel Excel 대안으로, 비교적 단순한 가져오기와 내보내기 작업을 대상으로 합니다.
기본적인 입출력 외에도 여러 시트, 헤더 및 행 스타일 지정, 열 너비 설정, 앞자리 0을 보존하는 문자열 형식 셀, 내보내기 중 행 건너뛰기, 수식 삽입 공격을 막기 위한 수식 이스케이프를 지원합니다.
핵심 기능
- 01Eloquent 모델, 쿼리 결과, 컬렉션 또는 제너레이터를 xlsx, ods, csv로 내보냅니다.
- 02스프레드시트를 컬렉션으로 가져오거나 콜백으로 각 행을 처리합니다.
- 03커서, 제너레이터, importLazy()를 사용해 대용량 데이터를 스트리밍하여 메모리 사용량을 낮춥니다.
- 04여러 시트를 읽고 쓸 수 있으며, 인덱스나 이름으로 시트를 선택할 수 있습니다.
- 05헤더와 행 스타일을 지정하고 xlsx 및 ods의 열 너비를 설정할 수 있습니다.
- 06값을 텍스트 셀로 강제하거나 수식을 이스케이프해 수식 삽입 공격을 방지합니다.
활용 사례
- Laravel 앱에서 대용량 사용자 또는 주문 테이블을 메모리 부족 없이 Excel 파일로 내보내기.
- 행별 콜백으로 고객 또는 제품 스프레드시트를 데이터베이스 테이블에 가져오기.
- Laravel 쿼리 결과로 컨트롤러에서 다운로드할 CSV 또는 Excel 보고서 생성하기.
- 간단한 가져오기 및 내보내기 작업에서 더 무거운 Laravel Excel 구성을 대체하기.
빠른 시작
- 1
Composer로 패키지 설치
composer require rap2hpoutre/fast-excel - 2
컬렉션 또는 모델을 XLSX 파일로 내보내기
사용 전 알아둘 점
- PHP와 Laravel이 필요하므로 해당 생태계 밖에서는 독립형 라이브러리로 작동하지 않습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- fast-excel은(는) 무엇인가요?
- OpenSpout 기반의 빠르고 메모리 효율적인 xlsx, ods, csv 파일 읽기·쓰기를 지원하는 Laravel 패키지입니다. FastExcel은 스프레드시트 데이터를 가져오고 내보내는 Laravel 패키지입니다. OpenSpout 라이브러리를 Laravel에 친화적인 간결한 API로 감싸 Eloquent 모델, 쿼리 결과, 컬렉션 또는 제너레이터를 xlsx, ods, csv 파일로 내보낼 수 있고, 해당 형식의 파일을 컬렉션으로 가져오거나 행별 콜백으로 처리할 수 있습니다.
- fast-excel은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- fast-excel은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- fast-excel은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. fast-excel의 마지막 커밋은 2026년 10월 29일입니다.
- fast-excel은(는) 어디에 사용할 수 있나요?
- Laravel 앱에서 대용량 사용자 또는 주문 테이블을 메모리 부족 없이 Excel 파일로 내보내기. 행별 콜백으로 고객 또는 제품 스프레드시트를 데이터베이스 테이블에 가져오기. Laravel 쿼리 결과로 컨트롤러에서 다운로드할 CSV 또는 Excel 보고서 생성하기. 간단한 가져오기 및 내보내기 작업에서 더 무거운 Laravel Excel 구성을 대체하기.
- fast-excel는 어떻게 설치하나요?
- Composer로 패키지 설치: composer require rap2hpoutre/fast-excel 컬렉션 또는 모델을 XLSX 파일로 내보내기
- fast-excel은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/rap2hpoutre/fast-excel
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
대용량 파일도 메모리 사용량을 낮게 유지하며 Excel 및 CSV 스프레드시트를 읽고 쓸 수 있는 Java 라이브러리입니다.
Microsoft Office 없이 Excel XLSX, XLSM, XLTX, XLTM, XLAM 파일을 읽고 쓸 수 있는 순수 Go 라이브러리입니다.
Rust로 작성된 개발 중인 스프레드시트 엔진으로, xlsx 읽기·쓰기와 Python 및 JavaScript(wasm) 바인딩을 제공합니다.
Go Excelize 라이브러리를 WebAssembly와 JavaScript로 포팅해 Node.js 및 브라우저에서 Excel XLSX, XLSM, XLTX와 관련 스프레드시트 파일을 읽고 씁니다.
Go Excelize 라이브러리를 Python으로 포팅한, Excel 스프레드시트 파일(XLSX, XLSM, XLTX, XLTM, XLAM) 읽기 및 쓰기 라이브러리입니다.