首页 > 开源 > Excelize 开源基础库发布 2.11.1 版本更新

Excelize 开源基础库发布 2.11.1 版本更新

OSChina资讯 2026-11-02 11:46 10 阅读 查看原文
https://oscimg.oschina.net//AiCreationDetail/up-8d48a175df9ae8d271aabdb6ab129bf1.jpg

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel、WPS、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。

自 2016 年开源以来已成为开发者在处理电子表格办公文档时的热门选择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。荣获 2025 上海开源创新菁英奖、入选 2023 开源创新榜优秀开源项目、荣获 2022 年中国开源创新大赛一等奖、2020 Gopher China - Go 领域明星开源项目 (GSP)、2018 年开源中国码云最有价值开源项目 GVP (Gitee Most Valuable Project)。

开源代码

GitHub: github.com/xuri/excelize

Gitee: gitee.com/xurime/excelize

中文简体字文档: xuri.me/excelize/zh-hans

2026年11月2日,社区正式发布了 2.11.1 版本,该版本包含 30 余项更新,包括新增功能、错误修复、安全加固和兼容性提升优化。来自世界各地的 30 名开发者为此版本贡献了代码。下面是有关该版本更新内容的摘要,此版本中最显著的变化包括:

版本说明

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

兼容性提示

  • 升级 Go 语言版本要求至 1.26.0 或更高版本,以升级依赖包 golang.org/x/crypto

安全更新

  • 修复当共享字符串索引为负数时获取单元格值引发程序 panic 的问题 (CVE-2026-104819),相关安全公告 GHSA-48hm-4h8j-58fg

  • 修复 GetPivotTables 函数在数据透视表字段索引无效时引发程序 panic 的问题 (CVE-2026-107211),相关安全公告 GHSA-mx22-3794-2vpv

  • 修复行迭代器对行号无限制的问题 (CVE-2026-107212),相关安全公告 GHSA-jw42-f3rr-4cc3

  • 修复 GetSlicers 函数从不含绘图部件的工作表中获取切片器时引发程序 panic 的问题 (CVE-2026-107213),相关安全公告 GHSA-r7x5-4969-99p7

  • 修复解密格式错误的工作簿时引发程序 panic 的问题 (CVE-2026-107214),相关安全公告 GHSA-2j4c-ffch-9f23

  • 修复解密工作簿时无限制分配 EncryptionInfo 和 EncryptedPackage 流大小的问题 (CVE-2026-107215),相关安全公告 GHSA-x2q3-8cjh-766f

  • 修复 CalcCellValue 函数因 ANCHORARRAY 公式循环引用导致栈溢出的问题 (CVE-2026-107216),相关安全公告 GHSA-wp2g-vpjj-g53r

  • 修复 ColumnNameToNumber 和 JoinCellName 函数接受无效列名而导致整数溢出的问题 (CVE-2026-107217),相关安全公告 GHSA-c85p-xxjj-2r75

  • 修复 LEFT、LEFTB、RIGHT 和 RIGHTB 公式函数中 Unicode 处理和字符数溢出的问题 (CVE-2026-107218),相关安全公告 GHSA-8jjq-8j9w-m2v6

  • 修复解密带有敏捷加密算法的工作簿时,密钥自旋次数无限制的问题 (CVE-2026-107219),相关安全公告 GHSA-jrfj-fhj2-jjvm

  • 修复工作表中存在空合并单元格引用时引发程序 panic 的问题 (CVE-2026-107220),相关安全公告 GHSA-g27h-8qhm-6pff

  • 修复行内单元格未按列升序排列时引发程序 panic 的问题 (CVE-2026-107221),相关安全公告 GHSA-8mcq-6wmr-jrjv

  • 修复 GetConditionalFormats 函数在条件格式规则格式错误时引发程序 panic 的问题 (CVE-2026-107222),相关安全公告 GHSA-rxcj-4pj5-74gr

  • 修复最小和最大列名称溢出的问题 (CVE-2026-107223),相关安全公告 GHSA-fq3v-74gv-27gm

  • 修复因解压大小溢出导致打开工作簿引发程序 panic 的问题 (CVE-2026-107224),相关安全公告 GHSA-fw94-4wwp-w8pw

  • 修复使用负数样式索引获取样式时引发程序 panic 的问题 (CVE-2026-107225),相关安全公告 GHSA-5h23-36rv-pm65

新增功能

  • 新增 EmbeddedObject 数据类型

  • 新增 2 个常量:MaxCFBStreamSizeV3 和 MaxCFBStreamSizeV4

  • 新增 GetShapes 函数,支持获取形状,相关 issue 436

  • 新增 GetEmbeddedObjects 和 SetGetEmbeddedObject 函数,支持获取和设置嵌入对象,相关 issue 158 和 #2186

  • CalcCellValue 函数支持计算带有数组公式参数的 AND 公式函数

  • SetConditionalFormat 函数支持验证样式索引,相关 issue 2400

兼容性提升

  • 函数 SetCellValue 存储数值的精度与 Microsoft Excel™一致,相关 issue 1757

问题修复

  • 修复 GetPictures 函数在某些情况下未返回图片位置属性的问题,解决 issue 2217

  • 修复 CalcCellValue 函数计算括号或运算符内包含错误值的公式时,返回错误计算结果的问题,解决 issue 1164 和 #2344

  • 修复 CalcCellValue 函数在某些情况下未返回预期错误的问题,解决 issue 2349 和 #2432

  • 修复 CalcCellValue 函数在计算 16 个公式函数时返回错误结果的问题:COUNT、COUNTA、EDATE、HLOOKUP、IF、INDIRECT、ISNUMBER、MDETERM、MINVERSE、OR、SUM、TRIM、VALUE、VLOOKUP、WEEKDAY 和 XLOOKUP,解决 issue 2411、#2412、#2413、#2414、#2415、#2416、#2417、#2430、#2436、#2439 和 #2445

  • 修复 CalcCellValue 函数在公式中右括号不匹配时引发程序 panic 的问题,解决 issue 2409

  • 修复 CalcCellValue 函数计算含有无效参数的 AVERAGEIFS、COUNTIFS、MAXIFS、MINIFS、PERCENTILE.EXC 和 SUMIFS 公式函数时引发程序 panic 的问题,解决 issue 2426

  • 修复 AddChart 和 AddChartSheet 函数在某些情况下生成无效图表导致工作簿损坏的问题,解决 issue 2355 和 #2356

  • 修复流式写入器未对时间间隔类型的单元格值应用数字格式的问题,解决 issue 2371

  • 修复使用 time.Duration 数据类型的值设置单元格值时精度丢失的问题,解决 issue 2372

  • 修复 AddSlicer 函数为数据透视表的不同字段重复使用相同切片器缓存的问题,解决 issue 2383

  • 修复 GetStyle 函数对无图案填充返回无效样式的问题,解决 issue 2384

  • 修复 GetFormControls 和 GetTables 函数无法获取工作簿内部带有绝对路径部件的表单控件和表格的问题,解决 issue 2386

  • 修复 GetPanes 函数在某些情况下无法获取拆分窗格的问题,解决 issue 2387

  • 修复 SetCalcProps 函数无法将计算属性设置为 false 的问题,相关 issue 2404

  • 修复 ExcelDateToTime 函数转换 1900 年 1 月和 2 月的日期时,结果提前一天的问题,解决 issue 2466

其他

  • Go Modules 依赖模块更新

  • 单元测试与文档更新

  • 包含阿拉伯语、德语、英语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语、俄语、简体中文和繁体中文的多国语言文档网站更新

  • 支持 WebAssembly / JavaScript 的 excelize-wasm NPM 包发布版本更新

  • 支持 Python 的 excelize-py PyPI 包发布版本更新

  • 支持 C# 的 ExcelizeCs NuGet .Net 包发布版本更新