finds.dev← search

// the find

SpartnerNL/Laravel-Excel

★ 12,686 · PHP · MIT · updated Jul 2026

🚀 Supercharged Excel exports and imports in Laravel

Laravel Excel is a wrapper around PhpSpreadsheet that gives Laravel apps a fluent interface for importing and exporting Excel/CSV files. It handles the boilerplate of chunked reads, queued jobs, batch inserts, and Eloquent model mapping so you don't have to wire those up yourself. Squarely aimed at Laravel developers who need Excel I/O and don't want to touch PhpSpreadsheet directly.

The concern-based interface is well designed — you implement only the interfaces you need (WithChunkReading, WithBatchInserts, WithValidation, etc.) and the library composes them correctly, which keeps import/export classes small and readable. Queued exports and imports are first-class: large datasets get chunked into discrete jobs with proper failure handling, not just a naive dispatch-the-whole-thing approach. The ExcelFake for testing is genuinely useful — asserting that an export was downloaded or stored without hitting the filesystem is the right abstraction. Test coverage is thorough and organized per-concern, which is a good sign the maintainers actually run these.

It's a thick abstraction over PhpSpreadsheet, and when PhpSpreadsheet does something unexpected (date formats, formula evaluation, merged cells), you're debugging through two layers of magic with limited escape hatches. Memory usage on large imports can still spike badly even with chunk reading, because PhpSpreadsheet loads cell objects rather than streaming rows — this surprises people who assume 'chunk reading' means constant memory. The interface explosion (50+ concern traits) makes the feature matrix hard to reason about, and some combinations conflict in non-obvious ways (there's a ConcernConflictException that gets thrown at runtime, not compile time). Documentation covers the happy path well but is thin on what happens at the edges: malformed files, encoding issues, sheets with mixed data types.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →