onurb/excel-bundle
Symfony bundle that integrates PHPExcel to read and write Excel spreadsheets, exposing the library as a service with helpers for controllers and templates. Simplifies importing data from and exporting data to XLS/XLSX files in Symfony applications.
phpoffice/phpspreadsheet; the real capability lives in the upstream library. That tells you the actual decision is adopt the engine, decide how much wrapper you write — not "adopt this package." For a Laravel codebase, the realistic build is roughly a service provider + facade + config file over PhpSpreadsheet, on the order of a sprint, not a quarter.maatwebsite/excel (which wraps PhpSpreadsheet with Blade views, Eloquent integration, and queue support) or to a direct PhpSpreadsheet integration. Documenting this early prevents a wasted spike.Consider it when:
Look elsewhere when:
maatwebsite/excel for Eloquent/Blade/queue integration, or integrate PhpSpreadsheet directly.openspout (the maintained successor to Box/Spout) is the better fit for large CSV/XLSX streaming with flat memory.For executives: This is an MIT-licensed integration layer over a mature, widely used spreadsheet engine. It is not a strategic dependency and it is not on our roadmap as a standalone adoption — it appears here as a reference point. It confirms that Excel/PDF/ODT export and import is a solved commodity problem we can ship without bespoke parsing work. The practical recommendation is to standardize on the underlying engine plus our framework's idiomatic wrapper, which keeps the capability low-cost and low-risk. The package itself has minimal community traction (13 stars, zero downstream dependents), so we should not build a product bet on it.
For engineering: Treat this as a Symfony-only bundle — do not attempt to install it into a Laravel application. The valuable, durable component is phpoffice/phpspreadsheet; the bundle is DI configuration and a format-detection convenience. Recommended path: on Laravel, use maatwebsite/excel for Eloquent/queue-friendly exports and reach for openspout where memory or file size is a concern; on Symfony, evaluate this bundle or wire PhpSpreadsheet services directly. In both cases, budget for memory limits on large workbooks, define a temp-file/storage policy, and write the wrapper as our own code so we are not dependent on an unmaintained package for the glue. Validate PHP and framework version compatibility before any spike.
How can I help you explore Laravel packages today?