- Added a special case for cells formatted as text in XLSX. Previously leading zeros would get truncated if a text cell contained only numbers.
- Implemented SeekableIterator. Thanks to paales for suggestion (Issue #54 and Pull request #55).
- Fixed a bug in CSV and ODS reading where reading position 0 multiple times in a row would result in internal pointer being advanced and reading the next line. (E.g. reading row #0 three times would result in rows #0, #1, and #2.). This could have happened on multiple calls to
current()
while in #0 position, or calls toseek(0)
andcurrent()
.
- Pull request #85: Fixed an index check. (Thanks to pa-m).
- Issue #50: Fixed an XLSX rewind issue. (Thanks to osuwariboy)
- Issue #52, #53: Apache POI compatibility for XLSX. (Thanks to dimapashkov)
- Issue #61: Autoload fix in the main class. (Thanks to i-bash)
- Issue #60, #69, #72: Fixed an issue where XLSX ChangeSheet may not work. (Thanks to jtresponse, osuwariboy)
- Issue #70: Added a check for constructor parameter correctness.
- Attempt to replicate Excel's "General" format in XLSX files that is applied to otherwise unformatted cells. Currently only decimal number values are converted to PHP's floats.
- Fix for formulas being returned along with values in XLSX files. (Thanks to marktag)
- Fix for macro sheets appearing when parsing XLS files. (Thanks to osuwariboy)
- Fix for a PHP warning that occurs with completely empty sheets in XLS files.
- XLSM (macro-enabled XLSX) files are recognized and read, too.
- composer.json file is added to the repository (thanks to matej116)
- Fix for repeated columns in ODS files not reading correctly (thanks to etfb)
- Fix for filename extension reading (Thanks to osuwariboy)
- A fix for the case when row count wasn't read correctly from the sheet in a XLS file.
-
Fixed file type choice when using mime-types (previously there were problems with
XLSX and ODS mime-types) (Thanks to incratec) -
Fixed an error in XLSX iterator where
current()
would advance the iterator forward
with each call. (Thanks to osuwariboy)
-
Multiple sheet reading is now supported:
- The
Sheets()
method lets you retrieve a list of all sheets present in the file. ChangeSheet($Index)
method changes the sheet in the reader to the one specified.
- The
-
Previously temporary files that were extracted, were deleted after the SpreadsheetReader
was destroyed but the empty directories remained. Now those are cleaned up as well.
- Bugfix for shared string caching in XLSX files. When the shared string count was larger
than the caching limit, instead of them being read from file, empty strings were returned.
- XLS file reading relies on the external Spreadsheet_Excel_Reader class which, by default,
reads additional information about cells like fonts, styles, etc. Now that is disabled
to save some memory since the style data is unnecessary anyway.
(Thanks to ChALkeR for the tip.)
Martins Pilsetnieks [email protected]