iliaal / php_excel

PHP Extension interface to the Excel writing/reading library

Home Page:http://ilia.ws

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please do not use LibXL 3.8.6

Jan-E opened this issue · comments

Quote from the LibXL release notes, found in libxl-win-3.8.8.3.zip on ftp://xlware.com/build:

fixed a critical bug from the version 3.8.6 with loading some xlsx files (please do not use the version 3.8.6)

I will be gradually recompiling all my Windows builds on https://www.apachelounge.com/viewtopic.php?t=6359 with LibXL 3.8.8.3. That was 3.8.6.1 in the latest builds.

Looking at the release notes it seems no problem just to replace an 3.8.6 libxl.dll with a 3.8.8 version.

Release notes for LibXL 3.8:

Version 3.8.8.3 (2019-12-27)

 - added Book::calcMode() and Book::setCalcMode() methods

Version 3.8.8.2 (2019-12-04)

 - fixed a bug with losing formats in empty cells when loading/writing xls files from the version 3.8.8

 - restored the Book::loadWithoutEmptyCells() method

Version 3.8.8 (2019-11-28)

 - improved performance and reduced memory consumption for files with a lot of strings

 - fixed GDI handle leaks on Windows

 - fixed a bug in Sheet::getNamedRange() and Sheet::namedRangeSize() when used immediately after Sheet::setNamedRange() (xls)

 - restored the updateNamedRanges parameter for Sheet::insertCol/insertRow/removeCol/removeRow C++ methods and added 
   xlSheetInsertColAndKeepRanges/xlSheetInsertRowAndKeepRanges/xlSheetRemoveColAndKeepRanges/xlSheetRemoveRowAndKeepRanges
   C functions

Version 3.8.7 (2019-11-14)

 - fixed a critical bug from the version 3.8.6 with loading some xlsx files (please do not use the version 3.8.6)

Version 3.8.6 (2019-10-21)

 - added support of new formula functions in Excel for Office 365 / Excel 2019 (xlsx)

 - added new properties for the Sheet::setPicture() method:
        scale > 0 - the picture is aligned to the left top corner of the cell or merged area with the specified scale factor
        scale = 0 - the picture is stretched inside the specified cell or merged area
        scale < 0 - the picture is aligned to the center of the cell or merged area with the specified scale factor

 - added Sheet::rowHeightPx() and Sheet::colWidthPx() methods

 - Sheet::firstRow(), Sheet::lastRow(), Sheet::firstCol() and Sheet::lastCol() methods ignore blank cells now

 - added parial support of formula arrays for xlsx files, 
   for example now the Sheet::writeFormula() can accept {=SUM(A2:F2)} value

 - added a change of AutoFilter position together with Sheet::insertRow(), Sheet::removeRow(),
   Sheet::insertCol(), Sheet::removeCol() methods (xlsx)

 - fixed autofit feature for non-standard Windows scaling (High DPI)

 - fixed a bug in the Book::load() method for using a path with drive part for temporary file (xlsx)

 - fixed some bugs with loading some xls and xlsx files

 - fixed a bug in the Sheet::getNamedRange() when a xls file is parially loaded by the Book::loadSheet() method (xls)

 - fixed bugs in Sheet::removeRow() and Sheet::removeCol() methods when row or column contains merged cells

 - fixed a bug with crash in the Book::addFormat() when workbook is xlsx and initFormat is from xls file

 - fixed a bug with saving workbook with complicated OfficeArt objects (xls)

 - fixed a bug in Sheet::setPicture2() with default width/height (-1,-1) for some Excel versions and LibreOffice 

 - fixed a bug in Sheet::setAutoFitArea() with default parameters for xls files

New methods:

 - Sheet::colWidthPx()
 - Sheet::rowHeightPx()

Version 3.8.5 (2019-04-24)

 - now Sheet::setPicture() and Sheet::setPicture2() methods ignore the current Windows scaling and
   interprets width and height as pixels for 100% scale factor (96 DPI)

 - now autofit feature ignores merged cells

 - added string length checking in Sheet::writeStr() (xlsx)

 - fixed a bug in the Book::dateUnpack() method

 - fixed a bug with loading some xls files

 - fixed a bug in the Sheet::readFormula() method (xls)

Version 3.8.4 (2018-12-18)

 - changed the open mode to "shared" for xlsx files

 - added updateNamedRanges parameter to Sheet::insertCol(), Sheet::insertRow(), Sheet::removeCol() and Sheet::removeRow() methods

 - added bitcode support for iOS package

 - fixed a bug with character encoding in ANSI mode for xlsx files

 - fixed a bug in formula processing (xls)

Version 3.8.3 (2018-09-03)

 - improved a copying colors from source format (initFormat parameter) in Book::addFormat() (xlsx)

 - added reading comments for xlsx files

 - added Book::loadInfo() and Book::getSheetName() methods

 - improved reading some strings from inlined rich text (xlsx)

 - improved reading performance for xlsx files without "r" attribute in rows (xlsx)

 - added escaping "_x" character sequence (xlsx)

 - added sheet name checking in Book::addSheet() and Sheet::setName() methods
   (using some special characters leads to unreadable files)

 - removed i386 binary from the framework for Mac
   (AppStore doesn't accept i386 architecture now)

 - changed mbstowcs() to MultiByteToWideChar() in Windows version

 - fixed a bug with using a sheet name with space characters in the Book::insertSheet() method
   in case of using initSheet with defined names (xlsx)

 - fixed a bug with mistaken convering semicolon to comma inside arrays and braces {} (xlsx)

 - fixed an issue with loading UTF-8 file names in Windows (xls)

 - fixed some security issues

New methods:

 - Book::loadInfo()
 - Book::getSheetName()

Version 3.8.2 (2018-02-12)

 - added the Book::loadWithoutEmptyCells() method (xls)

 - added support RGB values without alpha channel

 - fixed a bug with copying an existing sheet in the Book::addSheet() method for Excel 2016 files (xlsx)

 - fixed a bug with loading some xlsx files with pictures with incorrect extensions

 - fixed a bug with saving some sheets with extensions (xlsx)

 - fixed a bug with saving cells without "r" attribute (xlsx)

 - fixed a bug with saving some Strict Open XML Spreadsheets (xlsx)

 - fixed issue with unnecessary escaping some Unicode characters inside XML files (xlsx)

 - fixed some security issues

Version 3.8.1 (2017-09-13)

 - improved compatibility with Excel 2016 (xlsx)

 - added support of OOXML format extensions (saved untouched, xlsx)

 - fixed error "XML character encoding not supported" with loading files 
   with specifying a temporary file in Linux/Mac platforms

 - added an update of all existing named ranges after using Sheet::insertRow(), Sheet::removeRow(),
   Sheet::insertCol(), Sheet::removeCol() methods (xlsx)

 - removed some memory leaks for xlsx format

 - fixed issue with autofit for cells with text rotation (only windows)

 - added linkPath parameter to Sheet::getPicture() method (xlsx)

Version 3.8.0 (2017-04-21)

 - added data validation feature for xlsx files

 - added Book::addPictureAsLink() method (xlsx)

 - added Book::moveSheet() method

 - improved speed of Sheet::setMerge() method (removed overlap checking)

 - improved compatibility with Apple Preview (xls)

 - fixed a bug in autofit feature for a custom format with % character

 - fixed issue with access to some worksheets for exported xlsx files
   from the SAS statistical package

 - fixed issue with 1900/2/1 date

 - fixed a bug with loading some xls files

 - fixed a bug in Book::load() and xlBookLoadUsingTempFile() with passing a full path 
   with directories for temporary files (xlsx)

 - fixed a bug in Sheet::setCol() (xls)

 - fixed Sheet::getNamedRange() and Sheet::namedRange() methods for correct extracting 
   the whole column or row as a range (xlsx)

New methods:

 - Book::moveSheet()

New methods only for xlsx format:

 - Sheet::addDataValidation()
 - Sheet::addDataValidationDouble()
 - Sheet::removeDataValidations()
 - Book::addPictureAsLink()

@Jan-E Thanks for the info.