stev/spout-bundle
A PHP bundle wrapping the Spout spreadsheet library, giving your app a simple service for importing and exporting XLSX, ODS, and CSV files. Handy for reading and writing spreadsheets without heavy dependencies or extension requirements.
maatwebsite/excel), or the maintained fork OpenSpout. The bundle itself adds no capability you couldn't reproduce with a small service class.Note on framing: this is a Symfony bundle, not a Laravel package. In a Laravel codebase it does not install-and-go; you would be using the underlying box/spout library directly, at which point the bundle's value is close to zero.
Consider it only if all of the following hold:
Look elsewhere if any of these are true:
maatwebsite/excel (a genuine Laravel package, actively maintained, MIT) or openspout/openspout directly. This bundle has no Laravel service provider.Recommended default: do not adopt the bundle. Evaluate OpenSpout (MIT, maintained, same streaming design) directly and write the ~50 lines of framework integration yourself.
For executives (one paragraph): Spreadsheet import and export will come up repeatedly across reporting, onboarding, and data-portability work, and it's worth making a deliberate platform decision now rather than solving it ad hoc per feature. However, the specific package evaluated here is not the answer: it is an unmaintained 2020 wrapper around a since-deprecated library, carries a GPL-3.0 license that restricts how we can distribute our product, and targets a Symfony version we are not on. The capability is real and worth ~1–2 weeks of engineering investment; this package is not. Recommendation: standardize on a maintained MIT-licensed library and own the thin integration layer internally — roughly three days of work that avoids a licensing and maintenance liability.
For engineering:
The bundle is a DI/configuration shim over box/spout v3 — service definition, config tree, and a command/controller facade. That's the entire value proposition, and it's code you'd write in an afternoon with full control over memory limits, chunk sizing, error handling, and queue integration. Adopting it means inheriting an abandoned dependency (last commit 2020), a GPL-3.0 obligation, a Symfony 4/5 constraint that will block our upgrade path, and a package whose composer name (stev/spout-bundle) doesn't even match its repository vendor (stevro/SpoutBundle) — a red flag for supply-chain hygiene. Use openspout/openspout (MIT, actively maintained, same streaming philosophy) directly, wrap it in a single application service, and keep it behind our own interface so swapping to PhpSpreadsheet later for styled/ templated output is a one-file change.
Decision requested: Approve building the integration in-house against OpenSpout rather than adding this dependency; flag the underlying spreadsheet capability for the next platform-sizing session.
How can I help you explore Laravel packages today?