Excelize v2.11.0

  • Will be released: July 7, 2026

Release Notes

The most notable changes in this release are:

Breaking Change

  • Upgraded requirement: Go language version is 1.25.0 or later, due to upgrading dependency package golang.org/x/net
  • Breaking changes for the AddChart, AddChartSheet and AddShape functions
    • Change Title field data type of Chart from []RichTextRun to ChartTitle
    • Change Line field data type of Shape from ShapeLine to LineOptions
    • Renamed data type ChartDashType to LineDashType
    • Renamed data type ChartLineType to LineType
    • Renamed data type ChartLine to LineOptions

Security

  • Check row number when reading worksheet to prevent unbounded memory allocation (CVE-2026-54063), related security advisories #GHSA-h69g-9hx6-f3v4
  • Prevent attacker-controlled allocations by validating against worksheet row number overflow maximum limitation (CWE-400 and CWE-770), related security advisories #GHSA-q5j5-6p94-4gwc
  • Prevent panic on getting cell value with invalid shared string table index (CWE-248 and CWE-755), related security advisories #GHSA-fx5j-qcqg-grpf

Notable Features

  • Added new ChartTitle data type
  • Added new PivotTableShowValuesAs data type
  • Added new PivotTableShowValuesAsType enumeration
  • Added 3 new exported error variables: ErrPivotTableShowValuesAsBaseField, ErrPivotTableShowValuesAsBaseItem and ErrUnsupportedPivotTableShowValuesAsType
  • Added new field ShowValuesAs in PivotTableField data type
  • Added new field SelectedItems in PivotTableOptions and SlicerOptions data types
  • Added new function AutoFitColWidth to support auto fit columns width, related issue #92
  • The CalcCellValue function supports tilde wildcard criteria
  • The CalcCellValue function supports implicit intersection and fixes regex criteria anchoring
  • The CalcCellValue function supports 3D references across sheet ranges, related issue #2303
  • The CalcCellValue function supports returning formula calculation result with raw cell value, related issue #2316
  • The AddPivotTable function supports checking whether the same data field appears in pivot table column, rows and filter fields, to prevent generating a corrupted workbook
  • The AddPivotTable and GetPivotTables functions support setting and getting show values as of pivot table data fields, related issue #2340
  • The AddPivotTable, AddSlicer, GetPivotTables and GetSlicers functions support setting and getting selected items for pivot table and pivot table slicer, related issue #2154
  • The AddChart and AddChartSheet functions support setting chart title with formula
  • The AddChart and AddChartSheet functions support setting chart title and chart axis title's layout
  • The AddChart and AddChartSheet functions support setting line format for chart title and chart axis title
  • The AddShape function supports setting line format of shapes
  • The NewStyle function supports auto foreground and background color when creating solid fill style when no custom color value is specified

Compatibility Improvements

  • Fixed chart sheet not showing charts on Excel Online and WPS, related issue #2273

Bug Fixes

  • Fixed a v2.8.1 regression issue #1383
  • Fixed AddChart function panic when adding a chart with no fill series
  • Fixed CalcCellValue function panic on invalid row reference in some cases, resolved issue #2266
  • Fixed formula exact text matching not matching substrings when using CalcCellValue function
  • Fixed CalcCellValue function calculation accuracy issue for formula functions BINOM.INV, CHIINV, CHISQ.DIST, IMSECH, IMSQRT and NEGBINOM.DIST
  • Fixed CalcCellValue function returning incorrect calculation result of FREQUENCY in some cases
  • Fixed AddComment function assigning incorrect author ID for all comments when author already exists in authors list, resolved issue #2289
  • Fixed potential deadlock related to file unlocker not being called before returning an error
  • Fixed custom number format with comma scaling not properly applied, resolved issue #2297
  • Fixed panic on reading corrupted workbook containing invalid worksheet XML by column iterator, resolved issue #2299
  • Fixed missing single quote after adjusting formulas which include external references
  • Fixed failure to decrypt workbooks protected by ECMA-376 agile encryption with SHA512 hash algorithm in some cases, resolved issue #2328
  • Fixed SetCellFormula function not clearing shared formula metadata when overwriting with a normal formula, resolved issue #2337

Performance

  • Reduced memory usage for reading unencrypted workbooks, reducing rows iterator memory usage by at most 85%
  • Optimized the coordinates conversion and some internal functions performance
    • The ColumnNumberToName function memory allocation reduced by about 90%
    • The CoordinatesToCellName function memory allocation reduced by about 13%
    • The internal isNumeric function memory allocation reduced by about 68%

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:

  • @Rynzie02 (Rynzie)
  • @jpoz (James Pozdena)
  • @tvso (Tammy)
  • @yyt030 (yyt)
  • @hwo411 (Igor Khodyrev)
  • @JimLee0921 (TuoLee)
  • @zhuyanhuazhuyanhua (zhuhua)
  • @kenny-not-dead (Roman Sergeev)
  • @debugdoctor (Debug Doctor)
  • @Journeyman150 (Vladislav Anisimov)
  • @ivolkoff (Ivan Volkov)
  • @plandem (Andrey G.)
  • @martskins
  • @shcabin
  • @narasaka (Nathanael Tehilla Gunawan)
  • @lawrence3699 (chaoliang yan)
  • @SAY-5 (Sai Asish Y)
  • @noahchiu22 (Noah)
  • @rootsec1 (Abhishek Murthy)
  • @guangxuewu
  • @AdamDrewsTR (Adam Drews)
  • @grmblfrz (Swen Thümmler)
  • @WaterRRabbit
  • @krystophny (Christopher Albert)
  • @Aprax14 (Damiano Scarpellini)
  • @artur-chopikian (Artur Chopikian)

results matching ""

    No results matching ""