You are on page 1of 16

Version 3.5.

4 (2014-01-10)
------------------------------------------------- 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 x
ltx files
and converting from xlsx to xltx and vice versa
- added "hidden" parameter to Sheet::getNamedRange() and Sheet::namedRange
() methods
- added support built-in named ranges in Sheet::getNamedRange() method (xl
s)
- added compatibility between fonts/formats from xls files and fonts/forma
ts from xlsx files
(now formats and fonts from xls file can be used as initial parameter fo
r Book::addFormat()
and Book::addFont() methods for xlsx file and vice versa)
- added Sheet::rightToLeft() and Sheet::setRightToLeft() methods that
specifies whether the sheet in is "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 a
rguments (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
Version 3.5.3 (2013-07-03)
------------------------------------------------- added two methods for getting and setting date system:
Book::isDate1904() and Book::setDate1904()
- fixed bug with reading some strings with underscore (_) characters (xls

x)
- fixed bug with loading some xlsx files
Version 3.5.2 (2013-06-25)
------------------------------------------------- fixed bug with overwriting existing strings
- fixed bug in NoteSh record ("CalcDelta size is incorrect")
Version 3.5.1 (2013-06-21)
------------------------------------------------- fixed bug with overwriting existing strings
Version 3.5.0 (2013-06-19)
------------------------------------------------- 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 Ex
cel 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
Version 3.4.2 (2013-04-25)
-------------------------------------------------

- 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
Version 3.4.1 (2013-01-04)
-------------------------------------------------- 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
Version 3.4.0 (2012-12-26)
-------------------------------------------------- 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" t
o "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 picture
s (xls)
- fixed bug in Book::saveRaw() method (xls)
- fixed possible memory leaks due to mismatched malloc/free functions (xl
sx)
- fixed bug in Sheet::cellFormat()
- fixed bug with format/font inheritance for xlsx files
- fixed Sheet::setPrintRepeatCols() method for xlsx files
Version 3.3.1 (2012-08-07)
-------------------------------------------------- fixed issue with adding pictures (red cross images) in xls files
Version 3.3.0 (2012-08-06)
--------------------------------------------------

Improvements:
- added preserving macros and properties for xls files
- added fullCalcOnLoad="true" attribute for xlsx files,
instruction for Excel to calculate all formulas on loading
- added defaultRowHeight property for xlsx files
- changed internal version for xls files
- added checking for corrupt xls files
Bug fixes:
- fixed Sheet::getNamedRange(), Sheet::namedRangeSize() and Sheet::namedR
ange() methods (xls)
- fixed Sheet::removeRow() for xls files
- fixed bug in Sheet::getNamedRange() method (xlsx)
- fixed bug with percent operator in formulas (xls)
- fixed bug in Book::delSheet() method
- fixed bug in Sheet::setPicture() method (xlsx)
- fixed bug with comments (xls)
Version 3.2.4 (2012-04-25)
-------------------------------------------------Improvements:
- added two auxiliary methods for converting cell reference to row and co
lumn and vice versa
- added Sheet::getTopLeftView() and Sheet::setTopLeftView() methods for g
etting/setting
a view position in the sheet
- added support for EMF pictures
- added multisheet reference support in formulas in xls format,
for example: SUM(Sheet1:Sheet10!A1)
New methods:
- Sheet::addrToRowCol()
- Sheet::rowColToAddr()
- Sheet::getTopLeftView()
- Sheet::setTopLeftView()
Bug fixes:
- fixed bug with loading some files

- fixed performance issue with Sheet::setMerge() for xlsx files


- fixed bug in OfficeArtBlip record
- fixed bug with adding pictures to some xls files
- fixed bug with macro records in xls files
- fixed bug with writing strings with leading and trailing space symbols
in xlsx format
(added attribute xml:space="preserve" for such strings)
- fixed bug in Sheet::setRowHidden() for xls format
- fixed bug with getting named ranges in some xlsx files
- fixed bug in Sheet::setCol() method for widths in range from 0 to 1 for
xlsx format
Version 3.2.3 (2011-10-12)
-------------------------------------------------Improvements:
- added possibility to hide/unhide sheets
Bug fixes:
- fixed bug in Book::addPicture2() for xlsx files
- fixed bugs with loading some xls files
New methods:
- Sheet::hidden()
- Sheet::setHidden()
Version 3.2.2 (2011-09-22)
-------------------------------------------------- added support of inlineStr in cell's data type (xlsx)
- added checking length of sheet name (it's allowed maximum 31 characters
)
- fixed bugs in copying formats and fonts, methods
Book::addFormat() and Book::addFont() when are used initFormat and init
Font parameters.
Now it is possible to pass to these methods a format or a font from oth
er workbook.
- improved non-unicode strings: if a conversion of wide character to a mu
ltibyte character
is not possible in the current locale then LibXL uses '?' symbol in thi
s place
- fixed bug in Sheet::colWidth()

- added R1C1 style formula support


- improved formula parsing, now it is possible to use comma (,) and semic
olon (;)
as parameter dividers in functions
- fixed bug in Sheet::removeCol() (xlsx)
- optimized speed in Sheet::clear() method
- optimized speed of firstRow/lastRow/firstCol/lastCol methods for xlsx p
art,
added ignoring a trial banner in trial mode
- fixed bug with loss of formatting when user copy-paste cells between wo
rkbooks (xls)
- small memory usage optimization for xlsx part
- changed the open mode to "shared" for xlsx files
- fixed bug in the picture extraction algorithm:
now Book::addPicture() and Sheet::getPicture() functions return zero-ba
sed indexes
Version 3.2.1 (2011-08-08)
-------------------------------------------------- fixed critical bug from previous version: incorrect reading/writing num
bers
with decimal point in xlsx files
- fixed bug in Sheet::readNum() and Sheet::writeNum() for big-endian plat
forms
- fixed bug with loading some xls file, before Book::load() can incorrect
ly
return false with error message "Xls::read(): workbook section is not f
ound"
Version 3.2.0 (2011-07-25)
-------------------------------------------------Improvements:
- added possibility to insert a new sheet at any position
- added possibility to extract pictures
- added possibility to extract page breaks
- added possibility to extract named range by name (Sheet::getNamedRange)
and by index (Sheet::namedRange)
- added possibility to fit a sheet to specified number of pages (Sheet::s
etPrintFit)
- added access to R1C1 reference style property (Book::refR1C1 and Book::

setRefR1C1)
- added BIFF version property for xls files (Book::biffVersion)
- added return value for Book::setLocale() method
- improved Sheet::writeFormula(), added support references to other sheet
s within the workbook
- improved method Sheet::setPicture2(): picture takes size of underlying
cell/merging cells
if width and height aren't specified
- removed line breaks in xml files (xlsx)
New methods:
- Book::insertSheet()
- Book::pictureSize()
- Book::getPicture()
- Book::refR1C1()
- Book::setRefR1C1()
- Book::biffVersion()
- Sheet::pictureSize()
- Sheet::getPicture()
- Sheet::getHorPageBreakSize()
- Sheet::getHorPageBreak()
- Sheet::getVerPageBreakSize()
- Sheet::getVerPageBreak()
- Sheet::getNamedRange()
- Sheet::namedRangeSize()
- Sheet::namedRange()
- Sheet::getPrintFit()
- Sheet::setPrintFit()
Bug fixes:
- fixed bug in Sheet::getNamedRange()
- fixed string interoperability in .NET wrapper
- fixed bug in Sheet::isDate() method for xlsx files
- fixed bug with reading formatted strings

- fixed bug in writeFormula


(removed error message "toReversePolish: unknown token" for some correc
t values)
- fixed bug with load/save conditional formatting
- fixed bug in Sheet::isDate() method
- fixed bug in ExternSheet record (xls)
- fixed method Book::delSheet() (xls)
- fixed Book::setActiveSheet(): deselecting other sheets (xlsx)
- fixed Sheet::setPicture2(): checking ranges of offset_x and offset_y pa
rameters (xls)
- fixed bug in fixed Book::delSheet(): removing definedName element (xlsx
)
- fixed bug in Sheet::setPrintRepeatRows() and Sheet::setPrintRepeatCols(
): added quotation for sheet's name
with space symbols (xlsx)
- fixed bug in Sheet::setName(): added checking dependencies in definedNa
mes block (xlsx)
- fixed Sheet::setPicture()
- fixed Sheet::setName(), added checking dependencies for old name in xls
x-file
- fixed Sheet::lastRow() and Sheet::lastCol(), taken into account non-def
ault height of cell
- method Sheet::getNamedRange() is case-insensitive now
- fixed bug with "Unexpected attribute" error for xml:space attribute in
formula element (xlsx)
- fixed addPicture/setPicture for different sheets (xlsx)
- fixed bug when writing string constants in formulas (xls)
- added removing storage extension elements <extLst> from sheets and work
books (xlsx)
Version 3.1.0 (2010-11-16)
-------------------------------------------------Improvements:
- named ranges support
- RGB colors support for xls format
- added offset_x and offset_y parameters in Sheet::setPicture() method
- print area support

- print titles support (repeated rows and columns on each page)


- added two sheet's properties: summaryBelow and summaryRight for grouped
cells
- reduced memory consumtion for reading/writing xlsx files
New methods:
- Sheet::setNamedRange()
- Sheet::delNamedRange()
- Sheet::setPrintRepeatRows()
- Sheet::setPrintRepeatCols()
- Sheet::setPrintArea()
- Sheet::clearPrintRepeats()
- Sheet::clearPrintArea()
- Sheet::groupSummaryBelow()
- Sheet::setGroupSummaryBelow()
- Sheet::groupSummaryRight()
- Sheet::setGroupSummaryRight()
Bug fixes:
- fixed bugs in Sheet::setCol() and Sheet::groupCols() methods
- added stretch property for pictures in xlsx files
- fixed bug with adding pictures in existing xls-file
- fixed bug with shared formulas
Version 3.0.2 (2010-09-15)
-------------------------------------------------- improved writing performance for xlsx format
- changed all "unsigned short" types to "int",
therefore now it's possible to write more than 65536 rows in xlsx forma
t
Version 3.0.1 (2010-08-25)
-------------------------------------------------- fixed bug with loading some xlsx files (unknown attribute error)
Version 3.0.0 (2010-08-24)

-------------------------------------------------- Excel 2007/2010 support (xlsx)


Changes in binary interface:
- optimized reading speed and memory consumption for big files
- fixed bug with sheet's name in Japanese/Korean/Chinese languages in mul
ti-byte interface
- changed behaviour of Sheet::split() method
- added method Sheet::setCellFormat()
- removed message "too many dir sectors - perhaps it's infinite loop" for
large files
- fixed bug in OfficeArtFDGGBlock
- added access to list of formats and fonts in document
- added msec parameter in datePack/dateUnpack
New methods:
- xlCreateXMLBook()
- Book::format()
- Book::formatSize()
- Book::font()
- Book::fontSize()
- Book::colorPack()
- Book::colorUnpack()
- Book::rgbMode()
- Book::setRgbMode()
- Sheet::setCellFormat()
Version 2.4.3 (2010-06-07)
-------------------------------------------------- added Sheet::setProtect() and Sheet::protect() methods
- fixed bug with loading xls files with form controls
- fixed bug in Sheet::writeFormula()
- fixed some incorrect relative references
- fixed bug with reading string values in shared formula

- fixed printZoom default value


- fixed .NET interface: Book::errorMessage(), Book::sheetCount(), Book::a
ctiveSheet()
- fixed bugs with loading some xls files
- fixed bug with reading coordinates in shared formula
- fixed bug with incorrect reading formula with external reference
Version 2.4.2 (2010-05-12)
-------------------------------------------------Improvements:
- support BMP and DIB picture formats
- loading pictures from memory buffer
New methods:
- Book::addPicture2()
Bug fixes:
- fixed bug with reading shared formulas
- fixed issue with loading workbook with dropdown lists ("error in record
FtLbsData")
- changed return type "unsigned short" to "int" in firstRow/lastRow/first
Col/lastCol methods
- restoring normal book state after loading error
- fixed datePack/dateUnpack for time values
- fixed bugs with loading some xls files
Version 2.4.1 (2010-03-01)
-------------------------------------------------- removed memory leaks
- small fixes
Version 2.4.0 (2010-02-25)
-------------------------------------------------Improvements:
- formula support
- ability to change a default font
New methods:
- Sheet::readFormula()

- Sheet::writeFormula()
- Sheet::isFormula()
- Book::defaultFont()
- Book::setDefaultFont()
Version 2.3.2 (2010-02-01)
-------------------------------------------------- fixed bug with saving some xls files
- fixed bug in margin methods
Version 2.3.1 (2010-01-20)
-------------------------------------------------- fixed bug with Book::loadRaw() on Linux and Mac
- changed behavior Book::saveRaw(): now LibXL writes raw data to internal
memory buffer
Version 2.3.0 (2010-01-14)
-------------------------------------------------Improvements:
- loading/saving a book from/to memory buffer
- copying sheets and cells
- access to format for any cell (without detecting type)
- now library doesn't touch existing formats when user edits an existing
document
- renaming sheets
New methods:
- Book::loadRaw()
- Book::saveRaw()
- Book::copySheet()
- Sheet::copyCell()
- Sheet::cellFormat()
- Sheet::setName()
Bug fixes:
- fixed bug with opening xls in Numbers (iWork on MacOSX)

- fixed Sheet::colWidth() and Sheet:setCol(), precise column's widths now


- fixed issues with loading some xls files
- fixed bug when user loads several xls files in memory at a time
- fixed Sheet::setRow()
- values from firstRow/lastRow/firstCol/lastCol methods are updating in r
un-time now
Version 2.2.2 (2009-10-13)
-------------------------------------------------Improvements:
- inserting/removing rows/columns
- removing merges
New methods:
- Sheet::insertCol()
- Sheet::insertRow()
- Sheet::removeCol()
- Sheet::removeRow()
- Sheet::delMerge()
Version 2.2.1
-------------------------------------------------- new method Sheet::isDate() for fast detecting any date/time values
- fixed Sheet::split()
- removed GLIBCXX_3.4.9 dependency in Linux package
Version 2.2.0
-------------------------------------------------Improvements:
- support comments
- sheet splitting
- grouping and outline
- clear areas in sheets
- extracting dimensions of sheets
New methods:
- Sheet::readComment()

- Sheet::writeComment()
- Sheet::split()
- Sheet::split2()
- Sheet::groupRows()
- Sheet::groupCols()
- Sheet::clear()
- Sheet::firstRow()
- Sheet::lastRow()
- Sheet::firstCol()
- Sheet::lastCol()
Bug fixes:
- fixed warning when file is opened in Excel 2007
- opens xls with external links without errors
- fixed some minor bugs
Version 2.1.0
-------------------------------------------------Improvements:
- support pictures (png, jpg, wmf)
- page breaks support
- read/write bool values
- read/write blank cells
- detecting cell's type
- read cells with formula
- get/set active sheet
- get row height and column width
New methods:
- Book::addPicture()
- Book::activeSheet()
- Book::setActiveSheet()
- Sheet::cellType()

- Sheet::setPicture()
- Sheet::readBool()
- Sheet::writeBool()
- Sheet::readError()
- Sheet::colWidth()
- Sheet::rowHeight()
- Sheet::setHorPageBreak()
- Sheet::setVerPageBreak()
Bug fixes:
- opens xls with macros without errors
- opens xls with charts without errors
- fixed some minor bugs
Version 2.0.0
-------------------------------------------------New release with a completely new redesign

You might also like