We are pleased to announce the release of version 2.9.0. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Breaking Change
Change the data type for the ConditionalFormatOptions structure field Format as a pointer, resolve issue #1867
Notable Features
Add new functions DeleteSlicer and , related issue #810
GetSlicers
Add new function MoveSheet to support changing sheet order in the workbook, related issue #1076
Add new AutoFitIgnoreAspect field in the GraphicOptions data type support for fill the cell with the image and ignore its aspect ratio
Add new TickLabelPosition field in the ChartAxis data type support for set label position of the chart
Add new fields ShowAll, InsertBlankRow and NumFmt field in the PivotTableField data type
Add new fields ClassicLayout, FieldPrintTitles and ItemPrintTitles in the PivotTableOptions data type
Introduce 2 new exported enumeration type ChartTickLabelPositionType and PictureInsertType
Introduce new exported ChartLineUnset enumeration value
Introduce 4 constants ExtURIDataField, ExtURIPivotField, ExtURIPivotFilter and ExtURIPivotHierarchy
Introduce new exported error variable ErrPivotTableClassicLayout
The MergeCell function support clear slave cells value when merging cells
The AddDataValidation, DeleteDataValidation and GetCellStyle functions support concurrency safe, related issues #1825
The GetDataValidations function support get data validations which storage in the extension lists, related issue #1835
The SetSheetName function support case sensitivity, related issue #1856
The GetPictureCells and GetPictures functions support for get the cell images inserted by IMAGE formula function and absolute paths for pictures
The SetCellHyperLink function support remove hyperlink by None linkType, related issue #1940
The AddChart function support create combo chart with same types, related issue #1940
The AddChart function support set line type of scatter chart
An error will be return if column header cell is empty in pivot table data range when create pivot table by AddPivotTable function, related issue #1945
Add support for applying number format expression with language/location tags and ID
Add support for apply number format for time and duration cell value, related issue #2004
New support formula function: DOLLAR
Improve the Compatibility
Improve compatibility for apply number format, support apply number format with alignment, resolve issue #1847
Improvement compatibility for the workbook internal part with a spreadsheet namespace prefix, resolve issue #1886
Improve compatibility for the workbook internal media files with absolute path, resolve issue #1888
Bug Fixes
Fix a v2.8.1 regression bug, auto filter doesn't work in the LibreOffice, resolve issue #1830
Fix a v2.8.1 regression bug, support to adjust data validation with multiple cell range, resolve issue #1831
Fix a v2.8.1 regression bug, error on duplicate rows, if conditional formatting or data validation has multiple cell range reference
Fix a v2.8.1 regression bug, incorrect cell value written if save multiple times, resolve issue #1906
Fix a v2.8.1 regression bug, spark lines duplicate when creating spark lines on multiple sheets, resolve issue #1910
The CalcCellValue function support calculate formula functions ISNUMBER, OR and FIND with matrix arguments, resolve issue #1819
Fix the CalcCellValue function calculation result round issue, resolve issue #1851
Fix the CalcCellValue function returns incorrect result of formula functions XIRR and XNPV, resolve issue #1989
Fix the RemoveCol returns error when deleting columns, resolve issue #1829
Fix incorrect result data type of the DATE formula function, resolve issue #1833
Fix panic on read workbook with internal row element without r attribute
Fix parentheses in formulas get cut out when inserting new columns or rows, resolve issue #1861
Fix incorrect data validation escape result in some cases
Fix some character can't be displayed in stream writer, resolve issue #1865
Saving workbook with sorted internal part path to keep same hash of identical files and fix incorrect MIME type, resolve issue #1889
Fix the AddChart function set axis format doesn't work in combo chart, resolve issue #1921
Fix the AddChart function set incorrect primary axis titles position
Fix the AddChart function set secondary vertical axis title is not displayed, resolve issue #1926
Fix the AddChart function set line type of line chart does not work
Fix the GetPivotTables function returns incorrect data range, resolve issue #1937
Fix the GetStyle function panic when theme without sysClr, resolve issue #1963
Fix the GetCellRichText function returns error when read cell without SST index, resolve issue #1999
Fix the SetSheetVisible function panic on none views sheet, resolve issue #1969
Fix percent sign missing in formatted result for zero numeric cell value, resolve issue #1942
Fix missing horizontal axis in scatter chart with negative values
Fix missing conditional formatting after remove column in some cases, resolve issue #1968
Fix read cell value with decimal value round issue, resolve issue #1979
Support to set cell value with an IEEE 754 "not-a-number" value or infinity, resolve issue #119
Performance
Fix v2.8.0 regression speed slowdown and memory usage increase issue
Reduce memory usage for the GetRows function, related issue #1874
Optimize ColumnNumberToName function performance, reduce about 50% memory usage and 50% time cost
Miscellaneous
The dependencies module has been updated
Unit tests and godoc updated
Documentation website with multilingual: Arabic, German, English, Spanish, French, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated. Added Italian version of the document
Thank you
Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version: