- Can I use fungio/excel-bundle in a Laravel application?
- No. fungio/excel-bundle is a Symfony2 bundle, not a Laravel package, and it provides no service provider, facade, or publishable Laravel configuration. Its Composer constraints target Symfony 2 and PHP 5.x-era versions, so current Laravel 9, 10, and 11 releases will fail dependency resolution. For Laravel spreadsheet work, use maatwebsite/excel or PhpSpreadsheet directly.
- How do I install fungio/excel-bundle?
- Historically it was installed with Composer and registered in a Symfony AppKernel, with services and configuration handled through the Symfony bundle system. That installation path does not apply to Laravel, which has no bundle registration or container-extension concept. The package is also unmaintained, so installation is not recommended for new projects.
- Which Laravel versions support fungio/excel-bundle?
- None are officially supported. The bundle targets symfony/symfony and framework-bundle around 2.x with PHP 5.x-era versions, while Laravel 9, 10, and 11 require Symfony components 6.x and PHP 8.1 or newer. Forcing installation with ignored platform requirements can lead to runtime fatals on PHP 8. Use a maintained Laravel-native package instead.
- What is the difference between fungio/excel-bundle and maatwebsite/excel?
- fungio/excel-bundle is a Symfony2 integration layer around the abandoned PHPExcel library. maatwebsite/excel is a Laravel-native wrapper around the maintained PhpSpreadsheet engine, with a service provider, facade, queued imports and exports, and chunked reads. For a Laravel application, maatwebsite/excel is the appropriate integration layer.
- Is PHPExcel abandoned and should I still use it?
- Yes, PHPExcel is abandoned; its final release was 1.8.2 in 2015, and it was formally superseded by PhpSpreadsheet. Adopting fungio/excel-bundle means adopting an unmaintained spreadsheet engine through an unmaintained Symfony wrapper. That creates avoidable security, correctness, and maintenance risk for production data paths.
- What PHP versions does fungio/excel-bundle require?
- The bundle targets PHP 5.x-era versions and Symfony 2 components. It is not compatible with PHP 8.1 and newer, and PHPExcel relies on constructs removed in PHP 8. Pinning PHP 7.4 is technically possible but puts the application on an end-of-life runtime without security patches, which is unacceptable for production use.
- How do I read or write Excel files in Laravel without this bundle?
- Use maatwebsite/excel 3.1 or newer, which wraps PhpSpreadsheet and integrates with Laravel through a service provider and facade. Alternatively, use PhpSpreadsheet directly if you do not want a wrapper. Both support PHP 8 and active maintenance, and maatwebsite/excel adds queued imports and exports plus chunked reads.
- Is fungio/excel-bundle safe for user-uploaded spreadsheets?
- It carries high risk because it depends on an abandoned PHPExcel engine with no maintainers and no CVE response. Spreadsheet parsing is a serious attack surface, including zip bombs, XML external entities, and formula or macro payloads. For user-supplied files, use a maintained library such as PhpSpreadsheet and apply upload validation and isolation controls.
- How do I migrate from PHPExcel or fungio/excel-bundle to PhpSpreadsheet?
- The port is mechanical but not trivial: replace PHPExcel classes with PhpSpreadsheet equivalents, move to PhpSpreadsheet IOFactory, update Worksheet usage, and account for tighter getCalculatedValue semantics and changed writer constructor signatures. PDF writing also requires an explicit renderer such as Dompdf or mPDF rather than the old bundled tcPDF path. Budget for a verification pass per template, and in Laravel skip the Symfony wrapper entirely.
- Does fungio/excel-bundle work with Laravel queues and facades?
- No. It has no Laravel service provider, facade, publishable configuration, or queue-aware import and export conventions. Its real value is Symfony bundle registration and dependency injection service definitions, which Laravel does not use. In a Laravel application you would only bypass the wrapper, so use maatwebsite/excel or PhpSpreadsheet instead.