Deprecated: Return type of Aspera\Spreadsheet\XLSX\Reader::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in dist\vendor\aspera\xlsx-reader\lib\Reader.php on line 244
Deprecated: Return type of Aspera\Spreadsheet\XLSX\Reader::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in dist\vendor\aspera\xlsx-reader\lib\Reader.php on line 263
Deprecated: Return type of Aspera\Spreadsheet\XLSX\Reader::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in dist\vendor\aspera\xlsx-reader\lib\Reader.php on line 485
Deprecated: Return type of Aspera\Spreadsheet\XLSX\Reader::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in dist\vendor\aspera\xlsx-reader\lib\Reader.php on line 496
Deprecated: Return type of Aspera\Spreadsheet\XLSX\Reader::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in dist\vendor\aspera\xlsx-reader\lib\Reader.php on line 219
Deprecated: Return type of Aspera\Spreadsheet\XLSX\Reader::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in dist\vendor\aspera\xlsx-reader\lib\Reader.php on line 507
use Aspera\Spreadsheet\XLSX\Reader;
use Aspera\Spreadsheet\XLSX\ReaderConfiguration;
use Aspera\Spreadsheet\XLSX\ReaderSkipConfiguration;
$options = (new ReaderConfiguration())
->setSkipEmptyCells(ReaderSkipConfiguration::SKIP_EMPTY)
->setReturnDateTimeObjects(true);
$reader = new Reader($options);
$reader->open($sheet);