What's new in LibXL 4.3.0
Apr 5, 2024
- Added the possibility to remove all VBA code and macros from xlsm and xlsb files
- Added the possibility to remove all printer settings from xlsx, xlsm and xlsb files
- Added the possibility to set an active cell for splitted sheets (xlsx)
- Added keepAllSheets flag for the partial loading methods, if it's true, all sheets are saved back with the Book::save() method, but only one specified sheet is available for processing, thus LibXL can save more memory. It works only for xlsx files, LibXL ignores this flag for xls files
- Added the multi-level sorting for AutoFilter::addSort() and Sheet::applyFilter() (xlsx)
- Added the updating/moving existing tables with Sheet::insertRow() and Sheet::removeRow() methods (xlsx)
- Improved SVG support
- Fixed a bug with adding a hyperlink after setting a picture, the output xlsx file was unreadable by Excel
- Fixed a bug with incorrect return values in Sheet::rowHeight() and Sheet::rowHeightPx() for non-standard DPI settings for some xlsx files
- Fixed Sheet::setPrintArea(), Sheet::setPrintRepeatRows(), Sheet::setPrintRepeatCols() for working with Japanese/Chinese sheet names
- Fixed a bug with reading some values in double quotes in the Sheet::readFormula() (xlsx)
- Fixed a bug with a workbook overwriting dialog message in Excel when an existing sheet is copied in xlsx file
- Fixed a bug with reading some cells after using functions which changes sheet's size (xlsx)
- Fixed a bug with reading tables in some xlsx files
- Fixed some bugs with partial loading/saving some workbooks in the Book::loadSheet() and Book::save() methods (xlsx)
- Fixed a bug with using non UTF-8 character encodings on Linux and Mac
- Fixed a bug with reading some data from a partially loaded workbook (xlsx)
New in LibXL 4.2.0 (Jun 30, 2023)
- improved the writing performance for numbers (xlsx)
- added built-in styles (xlsx)
- added SVG image format support (xlsx)
- added the possibility to read arrays from
- formula expressions (xls)
- added the possibility to define column width and row height in pixels
- fixed some bugs
New in LibXL 4.1.2 (Apr 12, 2023)
- Added the Sheet::hyperlinkIndex() for checking if the cell contains a link
- Fixed a bug with loading some xlsx files ("Element not found")
- Fixed a bug with writing some xlsx files with empty XML inside
- Fixed a bug with writing empty strings for xls files
- Fixed an output precision for reading numbers by the Sheet::readStr()
New in LibXL 4.1.1 (Mar 3, 2023)
- Updated zlib to version 1.2.13
- Fixed a bug with getting correct width and height of picture in the Sheet::getPicture() method in accordance with current DPI settings (xlsx, only Windows)
New in LibXL 4.1.0 (Jan 30, 2023)
- Added conditional formatting support for xlsx files
- Added possibility to get/set an active cell and selection ranges
- Added possibility to get a color from sheet tabs
- Improved string overwriting performance for xls files
- Improved sorting performance in AutoFilter (xlsx)
- Fixed a bug with cutting sheet names to less than 31 characters in Chinese
- Fixed a bug with loading some xls files ("Label size is incorrect")
- Fixed a bug with union multiple column filters in the Sheet::applyFilter() method (xlsx)
- Fixed an issue with loading some xls files (error message "invalid jpg file")
- Fixed an issue with encoding dates before the 1st of March 1900 in the Book::datePack()
- Fixed issue with loading some xlsx files with special unicode character BOM (byte order mark) at unexpected position inside XML files
- Fixed issues with copying existing sheet with named ranges in the Book::insertSheet() what led to corrupted output files
- Fixed new-delete-type-mismatch memory issue on Linux and now LibXL works with jemalloc properly
- Fixed an issue with saving UTF-8 encoded filename in the Book::save() method on Windows (xlsx)
- Fixed a hang with loading some xls files
- Fixed a bug with saving xlsx files with a lot of OLE objects
- Removed PY_SSIZE_T_CLEAN warning in python interface
New in LibXL 4.0.4 (Jun 14, 2022)
- Fixed a bug with copying formats in the Book::addFormat() method, left and right border colors weren't copied (xlsx)
- Fixed a bug with duplicating some controls elements on saving xlsx files
- Fixed a bug with string concatenations in the Book::addRichString() method (xls)
- Fixed a bug with copying an existing sheet in the Sheet::addSheet() method for the latest versions of xlsx files
New in LibXL 4.0.2 (Jan 24, 2022)
- Restored a compatibility with WPS Office for xlsx files
- Added using dyDescent attribute in the Sheet::setRow() for correct height scaling on different displays (only Windows, xlsx)
- Fixed XML eXternal Entity injection (XXE) security issue by disabling DTD entity expansion (xlsx)
- Fixed a bug in the Book::save() with using non-ascii characters for workbook name (xlsx)
- Fixed an issue with loading some xlsx files
- Fixed a bug in the Sheet::writeFormula() with using named ranges in formula expressions (xls)
New in LibXL 4.0.1 (Dec 9, 2021)
- Fixed an issue with a screen resolution/scaling of UI elements of host application on Windows (removed DPI awareness)
- Fixed a bug with reading strings with incorrect character encoding in the Sheet::readStr() on Linux/MacOSX (xlsx)
- Fixed a bug with writing a corrupted workbook with huge amounts of cells (xlsx)
- Fixed bugs with loading some xls/xlsx files
- Fixed a bug with preserving spaces in strings (xlsx)
- Fixed the Sheet::readStr() with reading some numbers (rounding) (xlsx)
New in LibXL 4.0.0 (Sep 11, 2021)
- Improved compatibility with the latest versions of Excel (updated XSD schemes) (xlsx)
- Added theme/tint color support (xlsx)
- Added possibility to read/write from/to controls (checkboxes, compoboxes, listboxes) (xlsx)
- Added High DPI support to adding pictures
- Added aarch64 platform for Linux
- Added the AutoFilter::addSort() for multiple level sorting
- Added double rounding for reading numbers with the Sheet::readStr() (xlsx)
- Added an initialization of AutoFilter columns for reading
- Fixed the Sheet::readStr() for reading numbers and booleans from formula expressions (xls)
- Fixed a bug with writing unexpected _xlfn to some formula expressions (xlsx)
- Fixed a bug in the Sheet::applyFilter() with using a custom filter
- Fixed memory leaks in Delphi interface
- New methods:
- AutoFilter::addSort()
- Sheet::formControlSize()
- Sheet::formControl()
- FormControl::objectType()
- FormControl::checked()
- FormControl::setChecked()
- FormControl::fmlaGroup()
- FormControl::setFmlaGroup()
- FormControl::fmlaLink()
- FormControl::setFmlaLink()
- FormControl::fmlaRange()
- FormControl::setFmlaRange()
- FormControl::fmlaTxbx()
- FormControl::setFmlaTxbx()
- FormControl::name()
- FormControl::linkedCell()
- FormControl::listFillRange()
- FormControl::macro()
- FormControl::altText()
- FormControl::locked()
- FormControl::defaultSize()
- FormControl::print()
- FormControl::disabled()
- FormControl::item()
- FormControl::itemSize()
- FormControl::addItem()
- FormControl::insertItem()
- FormControl::clearItems()
- FormControl::dropLines()
- FormControl::setDropLines()
- FormControl::dx()
- FormControl::setDx()
- FormControl::firstButton()
- FormControl::setFirstButton()
- FormControl::horiz()
- FormControl::setHoriz()
- FormControl::inc()
- FormControl::setInc()
- FormControl::getMax()
- FormControl::setMax()
- FormControl::getMin()
- FormControl::setMin()
- FormControl::multiSel()
- FormControl::setMultiSel()
- FormControl::sel()
- FormControl::setSel()
- FormControl::fromAnchor()
- FormControl::toAnchor()
New in LibXL 3.9.5 (Aug 5, 2021)
- Improved compatibility with the latest versions of Excel (updated XSD schemes) (xlsx)
- Added theme/tint color support (xlsx)
- Added possibility to read/write from/to controls (checkboxes, compoboxes, listboxes) (xlsx)
- Added High DPI support to adding pictures
- Added aarch64 platform for Linux
- Added the AutoFilter::addSort() for multiple level sorting
- Added double rounding for reading numbers with the Sheet::readStr() (xlsx)
- Added an initialization of AutoFilter columns for reading
- Fixed a bug with writing unexpected _xlfn to some formula expressions (xlsx)
- Fixed a bug in the Sheet::applyFilter() with using a custom filter
- Fixed memory leaks in Delphi interface
New in LibXL 3.9.4 (Jan 13, 2021)
- Added ARMv7 hard float build to the LibXL for Linux package
- Added Mac Catalyst support to the LibXL for iOS package
- Improved compatibility with WPS Office after grouping rows and columns
- Fixed a bug in the Book::setMerge() method and with copying existing formats and fonts
New in LibXL 3.9.3 (Dec 23, 2020)
- improved performance
- fixed a bug in the Sheet::groupRows() with overwriting outline level (xls)
- fixed a bug with applying formatting in the Sheet::setMerge() for formula cells (xls)
- fixed a bug in the Sheet::applyFilter() for non-unicode strings in filters (xlsx)
- fixed a bug with handling /r and /n symbols in RichString::addText() (xlsx)
- fixed a bug with getting Japanese characters from the Sheet::hyperlink() (xlsx)
- fixed a bug with '.' (decimal point) at the end of the string for whole numbers in the Sheet::readStr()
New in LibXL 3.9.2 (Sep 30, 2020)
- Added support of new formula functions in Excel for Office 365 / Excel 2019 (xlsx)
- Added a possibility to extract compressed pictures with the Book::getPicture() (xls)
- Added quoting for xFF08 and xFF09 characters (xlsx)
- Fixed a bug with reading ISO 8601 date/times (xlsx)
- Fixed a bug in the Sheet::setTabColor() when color is overwritten (xlsx)
- Fixed a bug in the Sheet::getNamedRange() for sheet names with exclamation (!) (xlsx)
- Fixed a bug in the Sheet::setPrintArea() for sheet names with apostrophe (') (xlsx)
- Fixed a bug with partially loading in the Sheet::loadRaw() (xls)
- Fixed an issue with unavailable table information in some files (xlsx)
- Fixed error messages from the Book::errorMessage() after using the Book::load() method with failure (xlsx)
- Fixed a bug with writing strings with phonetic blocks (xls)
New in LibXL 3.9.1 (May 12, 2020)
- added Sheet::firstFilledRow(), Sheet::lastFilledRow(), Sheet::firstFilledCol() and Sheet::lastFilledCol() methods which return the boundaries of filled cells and ignore blank/format cells
- Sheet::firstRow(), Sheet::lastRow(), Sheet::firstCol() and Sheet::lastCol() methods return the boundaries of used cells including blank/format cells
- added initFont parameter to the RichString::addFont() method
- added xlSheetWriteStrAsNum() in C headers
- now the library switches to the normal mode (non-strict) for possibility to continue to use other methods with the current book instanse after unsuccessful loading of xlsx file
- now the Sheet::setMerge() copies top left cell format for all merged cells (xls)
- fixed a bug with reading empty strings (xls)
- fixed a bug with loading some xlsx files (error message "Required attribute(s) missing")
- fixed a bug with reading some fonts in the RichString::getText() method
- fixed a bug with using the Sheet::setPrintRepeatRows() when the name of sheet contains special characters (xlsx)
- New methods:
- Sheet::firstFilledRow()
- Sheet::lastFilledRow()
- Sheet::firstFilledCol()
- Sheet::lastFilledCol()
New in LibXL 3.9.0 (Mar 31, 2020)
- Added support of ISO 8601 date/times
- Fixed some bugs
- Added a rich string with Mixing fonts support:
- Book::addRichString()
- Sheet::readRichStr()
- Sheet::writeRichStr()
- Sheet::isRichString()
- RichString class
- Added possibility to remove pictures:
- Sheet::removePicture()
- Sheet::removePictureByIndex()
- Added possibility to change calculation options:
- Book::calcMode()
- Book::setCalcMode()
New in LibXL 3.8.7 (Nov 14, 2019)
- Fixed a critical bug from the version 3.8.6 with loading some xlsx files (please do not use the version 3.8.6)
New in LibXL 3.8.6 (Nov 14, 2019)
- 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()
New in LibXL 3.8.5 (Apr 25, 2019)
- Now Sheet::setPicture() and Sheet::setPicture2() methods ignores 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)
New in LibXL 3.8.4 (Dec 18, 2018)
- 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)
New in LibXL 3.8.3 (Sep 6, 2018)
- 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 in LibXL 3.8.2 (Feb 13, 2018)
- Fixed security issues
- 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)
New in LibXL 3.8.1 (Sep 14, 2017)
- 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)
New in LibXL 3.8.0 (Apr 24, 2017)
- Added data validation feature. For xlsx files, see the method
- Sheet::addDataValidation()
- Added the Book::moveSheet() ,ethod
- Added the method Book::addPictureAsLink()(xlsx)
- Improved compatibility
- With Apple Preview (xls)
- Added bitcode support
- For iOS package
- Fixed some bugs
New in LibXL 3.7.2 (Dec 20, 2016)
- changed 3 overloaded Book::load() methods to Book::load(), Bool::loadSheet() and Book::loadPartially() for correct working in C++ Builder
New in LibXL 3.7.1 (Dec 20, 2016)
- added possibility to load a workbook partially with specified sheet index and row range
- added possibility to use temporary files to decrease memory consumption
- added Swift 3.0 interface to Mac package
- fixed a bug with unlocked pictures in protected sheets (xls)
New in LibXL 3.7.0 (Dec 20, 2016)
- added AutoFilter support (xlsx)
- added Sheet::addIgnoredError() method for possibility to ignore some errors
- (green triangles on left sides of cells)
- added password support and enhanced protection properties to Sheet::setProtect() method
- added Sheet::setTabColor() method for setting sheet tab colors
- added copying named ranges together with copying sheets
- added Sheet::removeComment() method for removing comments in xls files
- added Sheet::writeFormulaNum(), Sheet::writeFormulaStr() and Sheet::writeFormulaBool() methods for writing formula expressions with precalculated values
- improved precision for autofit feature for non-windows platforms
- added Sheet::table() and Sheet::tableSize() methods
- added Sheet::writeError() method
- added correct processing rows with r = "0" in xlsx files
- now Sheet::readStr() method can read numbers, added CellType parameters to Sheet::writeStr() for writing strings as numbers (xlsx)
- changed behavior of Book::setLocale() method, UTF-8 value is ignored for wide strings now
- added a recalculation of Sheet::lastRow() value after using of Sheet::clear() and Sheet::removeRow() methods (xls)
- taken into account also row size changes for Sheet::lastRow() according to UsedRange COM Interface (xls)
- improved algorithms with ColInfo records for better compability with old Excel applications, modified Sheet::setCol() and Sheet::groupCols() methods (xls)
- fixed a bug with reading data from rows and cells without explicitly specified references in xlsx files
- fixed Sheet::removeRow() method (xls)
- fixed Sheet::clear() method (xls)
- fixed a bug in Book::delSheet() with removing necessary named ranges
- fixed a bug with reading of numbers in some xlsx files (issue with corrupted locale)
- fixed a bug in Sheet::setPicture2() with ignoring pos parameter for more than one pictures
- fixed a bug in Book::dateUnpack() with return 1000 ms in some cases
- fixed a bug in Book::dateUnpack() method for dates before 1900-03-01
- fixed a bug in XMLSheetImplT::calcFirstRow()
- fixed Sheet::cellType() for a cell with formula string (t="str") (xlsx)
- fixed an issue with loading some non-standard xlsx files
- fixed a bug in Sheet::insertCol() (xlsx)
- fixed issues with Sheet::setCol() on Mac (xlsx)
- fixed a bug in Sheet::getPicture() for xlsx files (it was impossible to get correct parameters rowBottom, colRight, width and height for some pictures)
- fixed Sheet::readStr() method in .NET wrapper
- fixed a bug in Sheet::removeRow() (xlsx)
- fixed a bug in Sheet::namedRangeSize() (xls)
- fixed a bug with loading some xls files
- fixed a python wrapper
- NEW METHODS:
- Sheet::addIgnoredError()
- Sheet::setTabColor()
- Sheet::removeComment() (xls)
- Sheet::writeFormulaNum()
- Sheet::writeFormulaStr()
- Sheet::writeFormulaBool()
- Sheet::writeError()
- Sheet::table()
- Sheet::tableSize()
- NEW METHODS ONLY FOR XLSX FORMAT:
- Sheet::autoFilter()
- Sheet::applyFilter()
- Sheet::removeFilter()
- AutoFilter::getRef()
- AutoFilter::setRef()
- AutoFilter::column()
- AutoFilter::columnSize()
- AutoFilter::columnByIndex()
- AutoFilter::getSortRange()
- AutoFilter::getSort()
- AutoFilter::setSort()
- FilterColumn::index()
- FilterColumn::filterType()
- FilterColumn::filterSize()
- FilterColumn::filter()
- FilterColumn::addFilter()
- FilterColumn::getTop10()
- FilterColumn::setTop10()
- FilterColumn::getCustomFilter()
- FilterColumn::setCustomFilter()
- FilterColumn::clear()
New in LibXL 3.6.2 (Apr 29, 2015)
- added applyFont, applyFill, applyAlignment, applyBorder, applyNumberFormat attributes to styles for better compatibility with Apple Preview (xlsx)
- added default Row records to a sheet, it should improve compatibility with some third-party Excel tools/applications (xls)
- improved precision of autofit feature (sections)
- added calcId attribute to calcPr element (xlsx)
- fixed bug in Sheet::writeFormula() with some R1C1 formulas
- fixed bug in Book::addPicture2(): it didn't recognize some JPG files (xls)
- fixed bug in Sheet::readStr() method with empty strings in some xlsx files
- fixed loading of some ExtSST records (xls)
- fixed bug with long custom format string
- fixed bug with reading formula expressions with user defined functions (xls)
- fixed bug with false loading some xls file with xlCreateXMLBook() function
- fixed bugs with copying a sheet with pictures, charts or diagrams in Book::addSheet() (xlsx)
- New methods:
- Sheet::setAutoFitArea()
- Sheet::printRepeatRows()
- Sheet::printRepeatCols()
- Sheet::printArea()
New in LibXL 3.6.1 (Nov 12, 2014)
- added more precision to autofit column width feature (number formats are taken into consideration)
- optimized autofit column width feature: removed memory leak and increased performance
- (Sheet::setCol() with -1 width parameter)
- added sheet dimensions to output files (xlsx)
- added anyAttribute to CT_Sst type for reading some irregular xlsx files
- standardized LibXL.framework in "LibXL for Mac" package, now it can be signed
- fixed bug in Book::setActiveSheet() method when book contains a chart (xlsx)
- fixed bug in Book::delSheet() (xls)
- fixed errors with autofit in trial mode
- fixed bug in Sheet::isDate(): added checking of quotes in custom format
- fixed the memory bug when loading some xls files
- fixed Sheet::firstRow() and Sheet::lastRow() methods (xlsx)
- fixed bug with writing references in formula expressions in lower case in Sheet:writeFormula() (xls)
- fixed bug with precision of real numbers in formula expressions in Sheet:readFormula() (xls)
- fixed bugs with some formula expressions with SUM, AVERAGE, MIN, MAX functions (xls)
- fixed bug with corrupted output files with macros on Solaris/AIX
New in LibXL 3.6.0 (Nov 12, 2014)
- added autofit column width support
- (use -1 for width parameter in Sheet::setCol() method)
- added hyperlink support
- added direct access to merged cells
- added a possibility to create xltx and xlsm files
- added a possibility to read errors "#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A" with Sheet::readFormula() method from xls files
- added support Windows-1251 encoding in xlsx files
- added support RGB colors without alpha component in xlsx files
- added a cell range support in formula expressions (xls)
- improved performance of Sheet::cellFormat() method (xls)
- optimized xls files reading
- fixed a bug with copying a sheet with pictures in Book::addSheet() (xls)
- fixed a memory bug when used a second parameter in Book::addSheet()
- fixed issue with nested quotes in formula expressions (xls)
- fixed bug with using a single quote in formula expressions (xls)
- fixed issue with loading some xlsx files which were created in Numbers on Mac ("Unknown exception")
- fixed bug with UTF-8 encoding in custom format strings (xlsx)
- fixed bug with reading some non-standard characters (xlsx)
- fixed bug in Sheet::groupRows() (xlsx)
- fixed bug with viewing some xls files on iPhone/MacOSX
- New methods:
- Sheet:hyperlinkSize()
- Sheet:hyperlink()
- Sheet:delHyperlink()
- Sheet:addHyperlink()
- Sheet:mergeSize()
- Sheet:merge()
- Sheet:delMergeByIndex()
- Sheet:splitInfo()
New in LibXL 3.5.4 (Nov 12, 2014)
- added xltx and xltm file support
- added scopeId parameter to Sheet::getNamedRange(), Sheet::setNamedRange(), Sheet::delNamedRange(), Sheet::namedRange() methods for specifying scope of named range.
- added Book::isTemplate() and Book::setTemplate() methods for detecting xltx files and converting from xlsx to xltx and vice versa
- added "hidden" parameter to Sheet::getNamedRange() and Sheet::namedRange() methods
- added support of built-in named ranges in Sheet::getNamedRange() method (xls)
- added compatibility between fonts/formats from xls files and fonts/formats from xlsx files (now formats and fonts from xls file can be used as initial parameter for Book::addFormat() and Book::addFont() methods for xlsx file and vice versa)
- added Sheet::rightToLeft() and Sheet::setRightToLeft() methods that specifies whether the sheet is in "right to left" display mode.
- added support shared formulas in Sheet::clear() method
- fixed bugs with loading some xls files
- fixed bug in Sheet::readFormula() (xls)
- fixed Sheet::isDate() method (xlsx)
- fixed bug with writing some non-standard characters (xlsx)
- fixed bug with writing some formula expressions with functions without arguments (xls)
- fixed bug with placing pictures into a sheet with non-default font (incorrect aspect ratio and size)
- fixed issue with overwriting some strings in xls files
- fixed bug with shared formulas (xls)
- fixed bug in Sheet::insertRow() for xls files
- fixed bug with extracting pictures in some xls files
New in LibXL 3.5.3 (Nov 12, 2014)
- added two methods for getting and setting date system:
- Book::isDate1904() and Book::setDate1904()
- fixed bug with reading some strings with underscore (_) characters (xlsx)
- fixed bug with loading some xlsx files
New in LibXL 3.5.2 (Nov 12, 2014)
- fixed bug with overwriting existing strings
- fixed bug in NoteSh record ("CalcDelta size is incorrect")
New in LibXL 3.5.1 (Nov 12, 2014)
- fixed bug with overwriting existing strings
New in LibXL 3.5.0 (Nov 12, 2014)
- added support of Strict Open XML Spreadsheet format (Excel 2013)
- increased precision of msec parameters in Book::dateUnpack() and Book::dataPack() methods. Now it is 1/1000 seconds.
- fixed bug with writing references to other sheets in formulas (xls)
- fixed bug with reading shared formulas from xlsx format
- fixed bug in Format::setPatternForegroundColor() and Format::setPatternBackgroundColor() methods (xlsx)
- added support of dual format files (BIFF8/BIFF5)
- added built-in named ranges for xls format
- fixed bug in namedRangeSize() for xls format
- fixed bug with named ranges that refer to external workbooks
- added support of characters which cannot be represented in XML (xlsx)
- added warning if named range contains multiple parts
- fixed bug with incorrect identification of 1900/1904 date formats in Excel for Mac (xlsx)
- fixed bug with reading some formulas (xls)
- fixed bug with writing formula with SUMPRODUCT function (thanks to Don Prouty, DSA) (xls)
- fixed bug with loading/saving some xlsx files with drawings
New in LibXL 3.4.2 (Nov 12, 2014)
- fixed NoteSh record (some xls files couldn't be loaded)
- fixed RRTabId record
- (Protected view mode was activated in Excel 2010 and Excel 2013 in some cases)
- fixed Book::insertSheet() method
- (named ranges, print areas, repeat rows and columns didn't remain in corresponding sheets)
- fixed Style record (some xls files couldn't be loaded)
- added quotes for names with hyphen (xlsx)
- fixed bug in Sheet::delNamedRange() (xlsx)
- fixed bug with saving some xls files with pictures (output file was corrupt)
- fixed bug with crash in MinGW 4.7 (added __cdecl keyword)
- fixed bug with Mac::Numbers compatibility
- fixed bug with overlapping of calculated values in cells with formula expression and format for xlsx format
- (no screen refresh)
- fixed bug in Sheet::writeFormula() method (xls)
- ("incorrect token in formula" error message for some valid expressions)
- fixes for Apple clang compiler
- updated ZipArchive library to version 4.5
- fixed bug with column-based named ranges in Sheet::getNamedRange() and Sheet::namedRange() methods for xlsx format
- fixed bug in Sheet::getPicture() for xlsx files
- fixed bug in Sheet::insertRow() for xls files
- fixed bug with loading some xlsx files ("mergeCell ref is invalid")
- fixed bug with length of sheet name in UTF-8 encoding
- fixed bug with loading some xlsx files ("bad end element" error)
- fixed bug with SUMPRODUCT function in formula expression (xls)
- fixed bug in Sheet::pictureSize() for xlsx files
New in LibXL 3.4.1 (Nov 12, 2014)
- added Book::sheetType() method for detection of chart sheet
- fixed bug with loading some xls files
- fixed bug in Sheet::delNamedRange() for xls files
- fixed bug in Sheet::writeNum() method
New in LibXL 3.4.0 (Nov 12, 2014)
- added support of xlsm files
- added UTF-8 support (mode is activated with book->setLocale("UTF-8"))
- fixed bugs with loading some xls and xlsx files
- fixed compatibility issues with Numbers for Mac
- added support of empty cells in Sheet::cellFormat()
- changed format picture property from "Move but don't size with cells" to "Move and size with cells"
- fixed Sheet::setNamedRange(), Sheet::setPrintArea() and Sheet::setName() methods
- for sheet's names with spaces (xlsx)
- fixed bugs with some formula expressions with IF and AND functions (xls)
- fixed bug with saving multi formatted cells in xlsx files
- fixed bug in Book::delSheet() for xlsx files
- fixed bug with reading some kind of error values
- fixed issues with adding pictures into preloaded workbooks with pictures (xls)
- fixed bug in Book::saveRaw() method (xls)
- fixed possible memory leaks due to mismatched malloc/free functions (xlsx)
- fixed bug in Sheet::cellFormat()
- fixed bug with format/font inheritance for xlsx files
- fixed Sheet::setPrintRepeatCols() method for xlsx files
New in LibXL 3.1.0 (Nov 21, 2010)
- named ranges support setNamedRange()
- RGB colors in xls format
- print area/print titles support setPrintRepeatRows() setPrintRepeatCols() setPrintArea()
- grouped cells properties setGroupSummaryBelow() setGroupSummaryRight()
- reduced memory consumtion for xlsx
New in LibXL 3.0 (Aug 24, 2010)
- Excel 2007/2010 support (xlsx)
New in LibXL 2.4.1 (Mar 3, 2010)
- Removed memory leaks
- Small fixes