NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #276 most downloaded on Packagist
Supercharged Excel exports and imports in Laravel
Last release 24 days ago
14 Sep 2026
Release timing varies
gaps range from 8 days to 7 months
Most releases are documented
notes for 37 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
189 releases · first in 2013
Replace deprecated SplObjectStorage::contains/attaach with offsetExis… by @negoziator in #4434
Full Changelog: 4.0.2...4.0.3
Fix Excel::fake() not working with ShouldBatch by @IonBazan in #4425
ChunkOffset/RemembersRowNumber properties to null by @zigzagdev in #4431Full Changelog: 4.0.1...4.0.2
One column per quarter.
[4.x] Add Time/Enum column types and sheet-level export concerns by @IonBazan in #4417
Full Changelog: 4.0.0...4.0.1
Fix 8.5 deprecation by @amooij in #4334
OnEachRow extend Import by @IonBazan in #4412Full Changelog: 3.1.70...4.0.0
See UPGRADE-4.x.md for the full upgrade guide.
WithColumns concern, describing a sheet as a list of typed column objects rather than raw arrays. Ships Text, Number, Decimal, Percentage, Price, Date, DateTime, Boolean, Formula, RichText, Hyperlink, Image and EmptyCell, each handling its own data type, number format, styling, sizing, filtering and comments on write, and its own casting on readFromScout export concern, replacing Scout builder support in FromQuery (#4390)ShouldBatch marker interface to dispatch queued exports and chunked queued imports as job batches (#4341)#[Queue] and #[Connection] attributes on imports (#4382)phpoffice/phpspreadsheet from ^1.30 to ^5.3 (#4302, #4333)Builder support in FromQuery, use FromScout instead (#4390)ext-json requirement (#4383)Update composer.json - Patch for CVE-2026-34084 by @marventhieme in #4387
Full Changelog: 3.1.69...3.1.70
Update minimum phpspreadsheet version to 1.30.4 ( CVE-2026-40296 ) by @gabrielrbarbosa in #4355
Full Changelog: 3.1.68...3.1.69
Fix: correct Laravel version range from 11.x to 12.x in compatibility by @ZakAmirou in #4325
Full Changelog: 3.1.67...3.1.68
Phpspreadsheet 1.30 update Full Changelog : 3.1.66...3.1.67
Phpspreadsheet 1.30 update
Full Changelog: 3.1.66...3.1.67
fix: missing InteractsWithQueue trait in QueueExport class by @KhoaDuongUQ in #4314
Full Changelog: 3.1.65...3.1.66
Include end row in LimitFilter by @jivanf in #4278
LimitFilter by @jivanf in #4278SkipsOnError with OnEachRow by @stevebauman in #4303Full Changelog: 3.1.64...3.1.65
Revert "Exclude heading row when limiting imported rows" by @patrickbrouwers in #4272
Full Changelog: 3.1.63...3.1.64
Update phpspreadsheet to 1.29.8 to tackle CVE issue by @brdv in #4264
Full Changelog: 3.1.62...3.1.63
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix Bug Multiple drawings change the behavior of the startCell (#3865).
- Support Laravel 10
Add support for ignoring PHP auto_detect_line_endings INI directive
Fix output of WithFormatData in combination with SkipsEmptyRows
WithFormatData in combination with SkipsEmptyRows (#3760)isEmptyWhen to customize is row empty logic. (#3645)required_unless rule (#3660)Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix testing for multiple stored files by regex matching (#3631).
WithDefaultStyles concern to allow configuring the workbook default styles.WithBackgroundColor concern to allow configuring the workbook default background color.Fix PHP8.1 return type for Failure class
Adds concern WithGroupedHeadingRow to allow imported sheets to group the values of columns with the same header in an array
WithGroupedHeadingRow to allow imported sheets to group the values of columns with the same header in an arrayprepareForValidation callback not being called when using SkipsEmptyRowsAdd @mixin docblock to all macroable classes to allow for IDE autocompletion of delegate classes
@mixin docblock to all macroable classes to allow for IDE autocompletion of delegate classesExcel::toArray not allowing nullable reader types for uploaded filesFix return type of FromQuery::query()
FromQuery::query()Removed cache flush for cell caching as this is already handled by PhpSpreadsheet
SkipsEmptyRows support with the WithColumnLimit concernChange default local_path configuration
ToCollection and ToArray.Row's ArrayAccess implementationMake TransactionManager a singleton
Add assertExportedInRaw assertion
Custom heading row formatter can use column index
### Added - Octane compatibility
Fix AfterImport Event not being called
Added WithUpsertColumns concern
Added HasReferencesToOtherSheets concern to allow import of calculated
### Added - PHP 8 support
Added an ability to prepare rows before appending rows to sheet. Just add prepareRows method for your export class if needed.
prepareRows method for your export class if needed.QueueExport job. Just add failed
method for your export class if needed.Illuminate\Contracts\Translation\HasLocalePreference for your export.JsonSerializable support in Maatwebsite\Excel\Validators\Failure.$maxExceptions support in Maatwebsite\Excel\Jobs\ReadChunk.php.WithUpserts concern.Added support for prepareForValidation on WithValidation concern
prepareForValidation on WithValidation concernwithValidator on WithValidation concernArrayAccess to RowAdded ignore_empty setting to config/excel.php
ignore_empty setting to config/excel.phpstrict_null_comparison setting to config/excel.php- Laravel 8 support - Lumen improvements
Added default spreadsheet properties config
Fix for breaking changes in PhpSpreadsheet with empty enclosures.
BeforeSheet and AfterSheet events receiving exportable instance
instead of importable when calling on an Import.Older release notes can be found in Github releases.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →