Excelize 2.10.1 Released
Published on February 25, 2026 by xuri
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 ChartDataPoint data type
- Added the DataPoint field to ChartSeries
- Added the DropLines and HighLowLines fields to ChartAxis
- Added the Name field to GraphicOptions
- Added two constants: MaxGraphicAltTextLength and MaxGraphicNameLength
- Added 7 exported error variables: ErrFillType, ErrFillGradientColor, ErrFillGradientShading, ErrFillPatternColor, ErrFillPattern, ErrMaxGraphicAltTextLength and ErrMaxGraphicNameLength
- Added the exported function GetHyperLinkCells to retrieve hyperlink cells, related issue 1607
- Added the exported function GetSheetProtection to retrieve sheet protection settings
- The AddComment function 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 CalcCellValue function now supports two formula functions: SORTBY and UNIQUE
- The AddChart and AddChartSheet functions now support setting data point colors for doughnut, pie, and 3D pie charts, related issue 1904
- The AddChart function now supports configuring font families for East Asian and complex-script fonts
- The AddChart function now supports drop lines and high-low lines for area and line charts
- The GetPictures function can now return partial formatting properties, related issue 2157
- Added the SetColVisible function to the streaming writer to set column visibility, related issue 2075
- Added the SetColOutlineLevel function to the streaming writer to group columns, related issue 2212
- The AddShape and AddSlicer functions now support one-cell anchor positioning for shapes and slicers
- The GetSlicers function now supports retrieving slicers with one-cell anchor positioning
- The SetConditionalFormat, GetConditionalFormats, and UnsetConditionalFormat functions now support the 3 triangles, 3 stars, and 5 boxes icon set conditional formats, related issue 2038
- The UnsetConditionalFormat function now supports deleting a conditional format rule or data validation for a specific cell within a cell range
- The AddPicture and AddPictureFromBytes functions now support setting the picture name
- The AddChart and AddShape functions now support setting names and alternative text for charts and shapes
- The AddSlicer function 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 GetCellValue and GetRows functions returned shared string indexes for empty strings, resolve issue 2240
- Fixed GetPivotTables panicking 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 SetRow function
- Fixed GetPictures not returning some cell images
- Fixed workbook corruption caused by light theme color index overflow
- Fixed DeleteDataValidation updating data validation cell ranges incorrectly with unordered cell references
- Fixed SetConditionalFormat generating corrupted workbooks when setting time period conditional formatting rules
- Fixed CalcCellValue failing to resolve references in some cases by trimming single quotes from sheet names
- Fixed NewStyle creating duplicate styles when using the default font or fill, resolve issue 2254
Performance
- Optimized CalcCellValue by adding a calculation cache and limiting processing to actual data ranges, resolve issues 2057 and 2223
- Optimized CalcCellValue formula evaluation for VLOOKUP, reducing memory usage and execution time by about 50%, resolve issue 2139
- Optimized GetMergeCells by 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