Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Fast Excel Laravel

Fast Excel Laravel Laravel Package

avadim/fast-excel-laravel

Fast Excel for Laravel wraps the avadim/fast-excel library to provide simple, memory-efficient spreadsheet import and export. Read and write XLSX/CSV files with a clean Laravel facade and minimal setup.

View on GitHub
Deep Wiki
Context7

Lightweight and very fast XLSX Excel Spreadsheet Export/Import for Laravel

Frequently asked questions about Fast Excel Laravel
How do I install avadim/fast-excel-laravel in a Laravel app?
Install it with Composer using composer require avadim/fast-excel-laravel. The package ships a service provider and facade that are auto-discovered, so no manual registration is normally required. Publishing the optional config file is only needed if you want to override defaults. The whole setup is a matter of minutes, not hours.
Which Laravel and PHP versions does fast-excel-laravel support?
The package targets Laravel 9 through 11 on PHP 8.1 or newer. It also requires the ext-zip, ext-xmlreader, ext-simplexml and ext-mbstring extensions, which are standard on most PHP builds. Check the declared composer constraints against Packagist before pinning, because the wrapper can lag behind the underlying engine and new PHP minors.
Is avadim/fast-excel-laravel memory efficient for large XLSX exports?
Yes, that is its main selling point. It wraps the standalone avadim/fast-excel-php engine, which streams through XMLReader and XMLWriter with ZipArchive instead of building a full in-memory object model like PhpSpreadsheet. That keeps peak memory roughly proportional to a row rather than the whole workbook. Benchmark your own row and column shape before committing, and check whether output goes to a file path or a stream resource.
Does fast-excel-laravel support styling, formulas, charts or pivot tables?
No. The package is a serializer, not a reporting engine; conditional formatting, charts, pivot tables, macros, style round-tripping and formula recalculation are out of scope or explicitly unsupported. Use it for plain tabular data that machines or spreadsheets will consume, and keep formatted, formula-bearing reports on PhpSpreadsheet or maatwebsite/excel.
How does fast-excel-laravel compare to maatwebsite/excel and PhpSpreadsheet?
maatwebsite/excel and PhpSpreadsheet give you full fidelity: styles, formulas, multiple sheets and rich formatting, at the cost of memory. Fast Excel trades that fidelity for streaming speed and a tiny footprint, so it wins on high-volume, low-formatting exports and row-by-row imports. A practical approach is to migrate only your high-volume machine-consumed jobs and leave formatted human-facing reports on the incumbent.
Can I export a spreadsheet to S3 or stream it as a download response?
The engine writes through ZipArchive, but you should confirm whether the Laravel wrapper exposes a stream or resource target versus only a file path, since that decides S3 and object-storage ergonomics. For large payloads, the safest pattern is to generate to a temporary disk inside a queued job and then hand back a signed URL instead of building the file inside the HTTP request. Also verify that temp files are cleaned up when an exception is thrown.
Is it safe to import untrusted XLSX uploads with this package?
Treat every upload as hostile input. XLSX is a ZIP of XML files, so untrusted files expose you to zip bombs, XML external entity expansion, zip-entry path traversal and row-count-driven memory exhaustion. Verify that external entity loading is disabled, that temp directories are isolated per job, and that reads stream rather than slurp the file. Add your own row, column and file-size caps before parsing.
Does fast-excel-laravel protect against CSV formula injection on export?
Do not assume it does. Cells beginning with =, +, - or @ can execute as formulas when the file is opened in Excel or Sheets, and this is generally the application's responsibility to neutralize. Sanitize or prefix those leading characters before writing user-controlled values, and cover it with a regression test in your export fixture suite.
How should I test spreadsheet import and export with this package?
Build a fixture corpus of real files: shared versus inline strings, empty rows, merged or hidden sheets, dates around the 1900 leap-year serial, and values beyond 15 significant digits. Assert on the generated file contents rather than on internal engine calls, and include a UTF-8 with BOM case. There is no large public production corpus or Stack Overflow backfill for this package, so your own tests are the real safety net.
Is avadim/fast-excel-laravel actively maintained and safe for production?
Be cautious. It has a single effective maintainer, modest adoption and no public production references, and the recorded release date looks inconsistent, so validate the tag history on Packagist before pinning a version. The saving grace is lock-in: it is MIT licensed and a thin wrapper, so you can call the underlying avadim/fast-excel-php engine directly or swap it out cheaply. Put it behind an application-owned port and plan who owns the fork if upstream stalls.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core