
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel、WPS、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。
自 2016 年开源以来已成为云原生应用尤其是 Go 语言开发者在处理电子表格办公文档时的热门选择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。荣获 2025 上海开源创新菁英奖、入选 2023 开源创新榜优秀开源项目、荣获 2022 年中国开源创新大赛一等奖、2020 Gopher China - Go 领域明星开源项目 (GSP)、2018 年开源中国码云最有价值开源项目 GVP (Gitee Most Valuable Project)。
开源代码
GitCode: gitcode.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 包发布版本更新
致谢
感谢 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)
《Excelize权威指南》

《Excelize权威指南》不仅介绍了 Excelize 库的基本使用方法,还深入探索了高级特性和应用场景。全书共分五个篇章:入门指南、基础库设计概览、深入 Excelize、高性能流式读写技术以及实践应用。通过这本书,你将学会如何利用 Go 语言和 Excelize 库,实现 Excel 文件的自动化处理、复杂数据分析以及报表生成等任务。
你将不再受限于 Excel 的传统操作方式,而是能够通过编程的方式,解锁 Excel 新境界,创造出更加智能、高效的数据处理解决方案。