Excelize 2.9.0 Released - Powerful open-source library for spreadsheet (Excel) document
Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and writing spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data.
GitHub: github.com/xuri/excelize
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 fieldFormat
as a pointer, resolve issue #1867
Notable Features
Add new functions
DeleteSlicer
andGetSlicers
, related issue #810Add new function
MoveSheet
to support changing sheet order in the workbook, related issue #1076Add new
AutoFitIgnoreAspect
field in theGraphicOptions
data type support for fill the cell with the image and ignore its aspect ratioAdd new
TickLabelPosition
field in theChartAxis
data type support for set label position of the chartAdd new fields
ShowAll
,InsertBlankRow
andNumFmt
field in thePivotTableField
data typeAdd new fields
ClassicLayout
,FieldPrintTitles
andItemPrintTitles
in thePivotTableOptions
data typeIntroduce 2 new exported enumeration type
ChartTickLabelPositionType
andPictureInsertType
Introduce new exported
ChartLineUnset
enumeration valueIntroduce 4 constants
ExtURIDataField
,ExtURIPivotField
,ExtURIPivotFilter
andExtURIPivotHierarchy
Introduce new exported error variable
ErrPivotTableClassicLayout
The
MergeCell
function support clear slave cells value when merging cellsThe
AddDataValidation
,DeleteDataValidation
andGetCellStyle
functions support concurrency safe, related issues #1825The
GetDataValidations
function support get data validations which storage in the extension lists, related issue #1835The
SetSheetName
function support case sensitivity, related issue #1856The
GetPictureCells
andGetPictures
functions support for get the cell images inserted by IMAGE formula function and absolute paths for picturesThe
SetCellHyperLink
function support remove hyperlink byNone
linkType, related issue #1940The
AddChart
function support create combo chart with same types, related issue #1940The
AddChart
function support set line type of scatter chartAn error will be return if column header cell is empty in pivot table data range when create pivot table by
AddPivotTable
function, related issue #1945Add 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 #1819Fix the
CalcCellValue
function calculation result round issue, resolve issue #1851Fix the
CalcCellValue
function returns incorrect result of formula functions XIRR and XNPV, resolve issue #1989Fix the
RemoveCol
returns error when deleting columns, resolve issue #1829Fix incorrect result data type of the DATE formula function, resolve issue #1833
Fix panic on read workbook with internal row element without
r
attributeFix 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 #1921Fix the
AddChart
function set incorrect primary axis titles positionFix the
AddChart
function set secondary vertical axis title is not displayed, resolve issue #1926Fix the
AddChart
function set line type of line chart does not workFix the
GetPivotTables
function returns incorrect data range, resolve issue #1937Fix the
GetStyle
function panic when theme withoutsysClr
, resolve issue #1963Fix the
GetCellRichText
function returns error when read cell without SST index, resolve issue #1999Fix the
SetSheetVisible
function panic on none views sheet, resolve issue #1969Fix 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 shape macro missing after adjusted drawing object, resolve issue #1957
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 #1874Optimize
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:
mirgong (helloWorld)
YueChenXu-Kimi (岳晨旭)
JackMin1314 (陈王)
paolobarbolini (Paolo Barbolini)
iEvan-lhr (Evan lu)
yetyear (yeahyear)
ha5ky (hu5ky)
lizhichao (vic)
realzuojianxiang (realzuojianxiang)
msackman (Matthew Sackman)
yyle88 (yangyile-yyle88)
yunkeweb (yunkeweb)
iraj720 (Nima)
jianxinhou
barlevd
18409615759 (nna)
qijinkui (xiaokui)
user1121114685 (联盟少侠)
wangsongyan
vsemichev (Vovka Morkovka)
zhayt (Aybek)
ShowerBandV (ShowerBandV)
imink (Patrick Wang)
samkeke (wxy)
pjh591029530
zhangyimingdatiancai
wanghaochen2024
centurion-hub
peng (Zhang Zhipeng)
slashdotdash (Ben Smith)
ArcholSevier
liuwangchao
Zncl2222 (Jian Yu, Chen)