- 楼主 编辑于
Excelize 是开源的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel、WPS、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片 (表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。希望能够帮助到有需要的朋友~
开源代码
GitHub: github.com/xuri/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 包发布版本更新
致谢
感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:
- Aprax14 (Damiano Scarpellini)
- xixixi1118
- zhouxuanyu1204-bot (ZHOU XUANYU)
- lzoeydzdnn
- arpitjain099 (Arpit Jain)
- n0liu (Roland)
- 1436761858 (LP-LDY)
- yashisrani (Yash Israni)
- alliasgher (Ali Asghar)
- ensiouel
- a3190778733-pixel (shixia)
- Nayjest (Vitalii Stepanenko)
- ValeryVerkhoturov (Valery)
- freeeve (Eve Freeman)
- saifulferoz (Feroz)
- lmonstergg
- pcvelz (Peter van Velzen)
- askalf (Thomas Sprayberry)
- zac-scheiwe (Zac Scheiwe)
- lrweck (Luis)
- akashchamp
- PhilflowIO (Philipp Lütje)
- White0xdi3 (Jnyandeep Koyya)
- keithadler (Keith Adler)
- EpicHigh (Prasit Tongpradit)
- wangyica879112 (ChangAo)
- yl030628 (YL)
- prostomarkeloff (prostomarkeloff)
- Gabik21
- Alifarid0011 (AliFarid)
收藏支持反对打赏 - 升级 Go 语言版本要求至 1.26.0 或更高版本,以升级依赖包
路过学习一下,帮顶
个性签名搏一搏,单车变摩托,赌一赌,摩托变路虎。不怕输的苦,就怕断了赌。小赌养家糊口,大赌发家致富!
太强了
个性签名学习的能力和方法比知识本身更重要
