We are pleased to announce the release of version 2.10.1. 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
Removed three exported error variables: ErrStreamSetColStyle, ErrStreamSetColWidth, and ErrStreamSetPanes.
Notable Features
- Added the
ChartDataPointdata type - Added the
DataPointfield toChartSeries - Added the
DropLinesandHighLowLinesfields toChartAxis - Added the
Namefield toGraphicOptions - Added two constants:
MaxGraphicAltTextLengthandMaxGraphicNameLength - Added 7 exported error variables:
ErrFillType,ErrFillGradientColor,ErrFillGradientShading,ErrFillPatternColor,ErrFillPattern,ErrMaxGraphicAltTextLengthandErrMaxGraphicNameLength - Added the exported function
GetHyperLinkCellsto retrieve hyperlink cells, related issue #1607 - Added the exported function
GetSheetProtectionto retrieve sheet protection settings - The
AddCommentfunction now returns an error when adding a comment to a cell that already has one - Added support for inserting ICO images, related issue #2234
- The
CalcCellValuefunction now supports two formula functions: SORTBY and UNIQUE - The
AddChartandAddChartSheetfunctions now support setting data point colors for doughnut, pie, and 3D pie charts, related issue #1904 - The
AddChartfunction now supports configuring font families for East Asian and complex-script fonts - The
AddChartfunction now supports drop lines and high-low lines for area and line charts - The
GetPicturesfunction can now return partial formatting properties, related issue #2157 - Added the
SetColVisiblefunction to the streaming writer to set column visibility, related issue #2075 - Added the
SetColOutlineLevelfunction to the streaming writer to group columns, related issue #2212 - The
AddShapeandAddSlicerfunctions now support one-cell anchor positioning for shapes and slicers - The
GetSlicersfunction now supports retrieving slicers with one-cell anchor positioning - The
SetConditionalFormat,GetConditionalFormats, andUnsetConditionalFormatfunctions now support the 3 triangles, 3 stars, and 5 boxes icon set conditional formats, related issue #2038 - The
UnsetConditionalFormatfunction now supports deleting a conditional format rule or data validation for a specific cell within a cell range - The
AddPictureandAddPictureFromBytesfunctions now support setting the picture name - The
AddChartandAddShapefunctions now support setting names and alternative text for charts and shapes - The
AddSlicerfunction now supports setting alternative text for slicers - Added validation for graphic names and alternative text length; returns an error when the length exceeds the limit
- Added UTF-16-aware length checking and truncation
Improve the Compatibility
- Removed empty rows on save, reducing the generated workbook file size
Bug Fixes
- Fixed a v2.10.0 regression where the
GetCellValueandGetRowsfunctions returned shared string indexes for empty strings, resolve issue #2240 - Fixed
GetPivotTablespanicking when retrieving pivot tables in some cases - Fixed a panic when reading cell values with certain number format codes containing Chinese month names, resolve issue #2224
- Fixed a panic when opening encrypted workbooks in some cases, resolve issue #2237
- Fixed missing column styles when using the streaming writer
SetRowfunction - Fixed
GetPicturesnot returning some cell images - Fixed workbook corruption caused by light theme color index overflow
- Fixed
DeleteDataValidationupdating data validation cell ranges incorrectly with unordered cell references - Fixed
SetConditionalFormatgenerating corrupted workbooks when setting time period conditional formatting rules - Fixed
CalcCellValuefailing to resolve references in some cases by trimming single quotes from sheet names - Fixed
NewStylecreating duplicate styles when using the default font or fill, resolve issue #2254
Performance
- Optimized
CalcCellValueby adding a calculation cache and limiting processing to actual data ranges, resolve issues #2057 and #2223 - Optimized
CalcCellValueformula evaluation forVLOOKUP, reducing memory usage and execution time by about 50%, resolve issue #2139 - Optimized
GetMergeCellsby speeding up overlap checks for merged cell ranges and reducing memory usage, resolve issue #2226 - Optimized applying number format codes by converting using continued-fraction recurrence formulas
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
- ExcelizeCs NuGet .Net package release for C#
Thank you
Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:
- @pjh591029530 (Simmons25)
- @Sang-Hyuk (SangHyuk)
- @wangacc
- @kenny-not-dead (Roman Sergeev)
- @pegasscience-cyber
- @jesusfelix951-lang
- @felixdevelopper-hue
- @shcabin
- @radam9
- @sqdtss
- @IvanHristov98 (Ivan Hristov)
- @yasarluo (Yasar Luo)
- @DengY11 (Yi Deng)
- @Kingson4Wu (Kingson4Wu)
- @zhuzhengyang (Zhu Zhengyang)
- @schbook
- @rhinewg
- @jpoz (James Pozdena)
- @sides-flow (Sides)
- @t4traw (Tatsuro Moriyama)
- @ijustyce (杨春)
- @d9c4
- @imirkin (Ilia Mirkin)
- @atmngw (Atsuki)
- @Flashcqxg
- @olivere (Oliver Eilhard)
- @susautw (Su, Rin)
- @ohauer (Olli Hauer)
- @yan00353-0729