Excelize 2.9.1 Released - Open-source library for Excel (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets

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.1. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes.
Release Notes
The most notable changes in this release are:
Breaking Change
Upgrade requirements Go language version is 1.23 or later, for upgrade of dependency package
golang.org/x/crypto
Change the data type of
DataValidationType
,DataValidationErrorStyle
,DataValidationOperator
,PictureInsertType
fromint
tobyte
SetCellInt function required
int64
data type parameter, resolve issue 2068When adding drawing objects such as pictures, charts, shapes, and form controls, the offset setting will no longer affect the size of the drawing object, related issue 2001
Notable Features
Add new fields
GapWidth
andOverlap
in theChart
data typeAdd new fields
ShowDataTable
andShowDataTableKeys
fields in theChartPlotArea
data typeAdd new field
Alignment
in theChartAxis
data typeAdd new field
DataLabel
in theChartSeries
data typeAdd new field
PageOrder
forPageLayoutOptions
data typeAdd 2 new exported error variables:
ErrPageSetupAdjustTo
andErrStreamSetColStyle
Add 2 new exported enumerations:
HeaderFooterImagePositionType
andIgnoredErrorsType
Add 2 new exported data types:
CalcPropsOptions
andHeaderFooterImageOptions
Add 2 new functions:
SetCalcProps
andGetCalcProps
support setting and getting workbook calculation propertiesAdd new
CultureNameJaJP
,CultureNameKoKR
andCultureNameZhTW
enumeration values, support apply number format for the Japanese calendar years, the Korean Danki calendar and the Republic of China year, related issue 1885Add new function
AddHeaderFooterImage
to support set graphics in a header and footer, related issue 1395Add new function
AddIgnoredErrors
support to ignored error for a range of cells, related issue 2046Add new function
SetColStyle
for streaming writer to support set columns style, related issue 2075The
AddChart
andAddChartSheet
function support set chart axis text direction and rotation, related issue 2025The
AddChart
andAddChartSheet
function support set gap width and overlap for column and bar chart, related issue 2033The
AddChart
andAddChartSheet
function support set the format of the chart series data label, related issue 2052The
AddChart
andAddChartSheet
function support set data table for chart, related issue 2117The
AddFormControl
function support set cell link for check box, related issue 2113The
SetPageLayout
function support set page order of page layoutThe
DeletePicture
function support delete one cell anchor image, related issue 2059An error will be return if the option value of the
SetPageLayout
function is invalidSupport adjust data validations cross multiple worksheets, related issue 2072
Support apply number format with hash and zero place holder, related issue 2058
Support apply number format with
?
symbolSupport to insert one cell anchor drawing object when specified the positioning as “oneCell”, related issue 2002
Bug Fixes
Fix a v2.9.0 regression bug, corrupted workbook generated by open the workbook generated by stream writer, resolve issue 2015
Fix redundant none type pattern fill generated, resolve issue 2014
Fix missing vertical and horizontal border styles in some case, resolve issue 2048
Fix conditional format’s border styles missing in some case, resolve issue 2061
Fix get pivot tables panic in some case, resolve issues 1954 and 2051
Fix
GetStyle
function can not getVertAlign
formatFix
CalcCellValue
function subexpressions aren’t correctly calculated in some case, resolve issue 2083Fix delete wrong images in some case which caused by image reference detection issue
Fix cell default style doesn’t override by none-zero row style when set row by stream writer
Fix redundant
cols
element generated by stream writerFix panic on set chart title font, resolve issue 2102
Fix panic on delete calc chain in some case
Fix incorrect formula calculation result caused by shared formula parse error, resolve issue 2056
Fix corrupted workbook generated when an inner ZIP64 file size exceeds 4GB
Fix sheet name error in defined name after rename sheet, resolve issue 2126
Performance
Use a 3 times faster deepcopy library
github.com/tiendc/go-deepcopy
instead ofgithub.com/mohae/deepcopy
, related issue 2029Fix performance regression in v2.9.0, reduce trim cell value memory allocation for blank cells
Improve performance for calculate formula when formula contains whole column and row reference
Rows iterator speedup about 20%, memory allocation reduce about 10%
Miscellaneous
The dependencies module has been updated
Unit tests and godoc updated
Documentation website with multilingual: Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated.
excelize-wasm NPM package release update for WebAssembly / JavaScript support
excelize PyPI package release update for Python
Thank you
Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:
wushiling50
imirkin (Ilia Mirkin)
Juneezee (Eng Zer Jun)
Arpelicy
zhuhaicity (ZhuHaiCheng)
xxf0512 (xxf)
gypsy1234
mengpromax (MengZhongYuan)
hly-717
kurtinge (Kurt Inge Smådal)
IvanHristov98 (Ivan Hristov)
artur-chopikian (Artur Chopikian)
romanshevelev (Roman Shevelev)
LZCZ
hm3248
moisespsena (Moises P. Sena)
paolobarbolini (Paolo Barbolini)
timesince
shcabin
tgulacsi (Tamás Gulácsi)
R3dByt3 (R3dByt3)
Now-Shimmer
Subscribe to my newsletter
Read articles from xuri directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
