Excelize v2.11.0

《Excelize 权威指南》图书出版,网上购买方式:人民邮电出版社 | 异步社区 | 天猫 | 京东 | 当当 | 亚马逊 | 微店 | 抖音

  • 即将发布:2026年7月7日

版本说明

此版本中最显著的变化包括:

兼容性提示

  • 升级 Go 语言版本要求至 1.25.0 或更高版本,以升级依赖包 golang.org/x/net
  • 关于 AddChartAddChartSheetAddShape 函数的不兼容变更
    • Chart 数据类型中 Title 字段的数据类型由 []RichTextRun 更改为 ChartTitle
    • Shape 数据类型中 Line 字段的数据类型由 ShapeLine 更改为 LineOptions
    • 数据类型 ChartDashType 重命名为 LineDashType
    • 数据类型 ChartLineType 重命名为 LineType
    • 数据类型 ChartLine 重命名为 LineOptions

安全更新

  • 读取工作表时检查行号以防止无限制内存分配 (CVE-2026-54063),相关安全公告 #GHSA-h69g-9hx6-f3v4
  • 通过验证工作表行号是否超出最大限制来防止攻击者控制流式读取内存分配 (CWE-400 和 CWE-770),相关安全公告 #GHSA-q5j5-6p94-4gwc
  • 防止在共享字符串表索引无效时获取单元格值引发程序 panic (CWE-248 和 CWE-755),相关安全公告 #GHSA-fx5j-qcqg-grpf

新增功能

  • 新增 ChartTitle 数据类型
  • 新增 PivotTableShowValuesAs 数据类型
  • 新增 PivotTableShowValuesAsType 枚举类型
  • 新增 3 个导出错误变量:ErrPivotTableShowValuesAsBaseFieldErrPivotTableShowValuesAsBaseItemErrUnsupportedPivotTableShowValuesAsType
  • PivotTableField 数据类型中新增 ShowValuesAs 字段
  • PivotTableOptionsSlicerOptions 数据类型中新增 SelectedItems 字段
  • 新增 AutoFitColWidth 函数,支持自动调整列宽,相关 issue #92
  • SetSheetName 函数支持对原本无效的名称工作表进行重命名,相关 issue #548
  • CalcCellValue 函数支持计算带有波浪号通配符条件的单元格公式
  • CalcCellValue 函数支持计算带有隐式交集的单元格公式,并修复正则表达式条件计算有误的问题
  • CalcCellValue 函数支持计算带有跨工作表的三维引用单元格公式,相关 issue #2303
  • CalcCellValue 函数支持返回不应用数字格式的原始单元格公式计算结果,相关 issue #2316
  • AddPivotTable 函数在创建数据透视表时,支持检查相同数据字段是否同时出现在数据透视表的列、行和筛选字段中,以防止生成损坏的工作簿
  • AddPivotTableGetPivotTables 函数支持设置和获取数据透视表数据字段的"值显示方式",相关 issue #2340
  • AddPivotTableAddSlicerGetPivotTablesGetSlicers 函数支持设置和获取数据透视表及数据透视表切片器的筛选选定项,相关 issue #2154
  • AddChartAddChartSheet 函数在添加图表时,支持使用公式设置图表标题
  • AddChartAddChartSheet 函数在添加图表时,支持设置图表标题和图表坐标轴标题的布局
  • AddChartAddChartSheet 函数在添加图表时,支持设置图表标题和图表坐标轴标题的线条格式
  • AddShape 函数在添加形状时,支持设置形状的线条格式
  • NewStyle 函数在创建纯色填充样式时,若未指定自定义颜色值,则支持自动设置前景色和背景色

兼容性提升

  • 修复图表工作表在 Excel Online 和 KingSoft WPS™ Office 中不显示的问题,相关 issue #2273

问题修复

  • 修复 v2.8.1 中引入的问题,解决 issue #1383
  • 修复 AddChart 函数在添加图表时,若未指定系列填充颜色将引发程序 panic 的问题
  • 修复 CalcCellValue 函数在某些情况下,计算带有无效行引用的单元公式时将引发程序 panic 的问题,相关 issue #2266
  • 修复使用 CalcCellValue 函数时公式精确文本匹配无法匹配子字符串的问题
  • 修复 CalcCellValue 函数计算 BINOM.INV、CHIINV、CHISQ.DIST、IMSECH、IMSQRT 和 NEGBINOM.DIST 公式函数时的计算精度问题
  • 修复 CalcCellValue 函数在某些情况下对包含 FREQUENCY 公式函数计算结果有误的问题
  • 修复 CalcCellValue 函数计算括号或运算符内包含错误值的公式时,返回错误计算结果的问题,解决 issue #2344
  • 修复 AddComment 函数添加批注时,若作者已存在于作者列表时,为所有批注分配错误作者 ID 的问题,相关 issue #2289
  • 修复因返回错误前未正确释放文件锁而导致潜在死锁的问题
  • 修复部分情况下自定义数字格式中逗号未被正确格式化的问题,解决 issue #2297
  • 修复列迭代器读取包含无效工作表 XML 的损坏工作簿时引发程序 panic 的问题,解决 issue #2299
  • 修复调整包含外部引用的公式后,公式中的单引号丢失问题
  • 修复部分情况下无法解密使用 ECMA-376 Agile 加密和 SHA-512 哈希算法保护的工作簿的问题,解决 issue #2328
  • 修复 SetCellFormula 函数在使用普通公式覆盖共享单元格公式时,未清除共享公式元数据的问题,解决 issue #2337

性能优化

  • 降低读取未加密工作簿时的内存占用,行迭代器内存开销相较于上一版本降低最高约 85%
  • 优化坐标转换函数及部分内部函数的性能
    • ColumnNumberToName 函数的内存开销相较于上一版本降低最高约 90%
    • CoordinatesToCellName 函数的内存开销相较于上一版本降低最高约 13%
    • 内部函数 isNumeric 的内存开销相较于上一版本降低最高约 68%

其他

  • Go Modules 依赖模块更新
  • 单元测试与文档更新
  • 包含阿拉伯语、德语、英语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语、俄语、简体中文和繁体中文的多国语言文档网站更新
  • 支持 WebAssembly / JavaScript 的 excelize-wasm NPM 包发布版本更新
  • 支持 Python 的 excelize PyPI 包发布版本更新
  • 支持 C# 的 ExcelizeCs NuGet .Net 包发布

致谢

感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:

  • @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 ""