游乐游手机版
首页/AI教程/文章详情

Excelize开源库十周年正式发布2.11.0全新重大版本更新

时间:2026-07-08 15:25
Excelize开源十周年之际发布2 11 0版本,包含40余项更新,由27位开发者贡献。新增自动列宽调整、图表标题设置等功能,修复多个安全问题与计算精度问题,显著降低内存占用,提升兼容性与性能。

Excelize 是一款严格遵循 ECMA-376、ISO/IEC 29500 国际标准的开源电子表格处理库,专注于操作 Office Excel 工作簿。它能够高效地读取和写入由 Excel、WPS、OpenOffice 等主流办公软件生成的文档,全面支持 XLAM、XLSM、XLSX、XLTM、XLTX 等多种文件格式,并对样式、图片(图表)、数据透视表、切片器等高阶组件提供了出色的兼容性。凭借其流式读写能力,Excelize 能够从容应对大规模数据集的处理任务,在报表平台、云计算、边缘计算等企业级应用场景中表现出色。自 2016 年开源以来,该库已成为开发者在电子表格开发领域的优选工具,被广泛应用于大型互联网公司、中小企业乃至初创团队。多年来,它屡获殊荣——包括 2025 上海开源创新菁英奖、2023 开源创新榜优秀开源项目、2022 中国开源创新大赛一等奖、2020 Gopher China Go 领域明星项目,以及 2018 年开源中国码云最有价值开源项目 GVP 等。

开源代码

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

2026 年 7 月 7 日,在 Excelize 开源十周年之际,社区正式发布了 2.11.0 版本。本次更新带来了 40 多项改动,涵盖新增功能、错误修复与兼容性提升。来自全球的 27 位开发者共同贡献了代码。以下是这次版本升级的核心亮点。

版本说明

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

兼容性提示

将 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。
- 通过验证工作表行号是否超出最大限制,防止攻击者控制流式读取的内存分配(CVE-2026-59161),相关安全公告 #GHSA-q5j5-6p94-4gwc。
- 在共享字符串表索引无效时,防止因获取单元格值而引发程序 panic(CVE-2026-59162),相关安全公告 #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 函数在添加图表时,支持使用公式设置图表标题,并且可以设置图表标题及坐标轴标题的布局与线条格式。
- 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 / Ja vaScript 的 excelize-wasm NPM 包已发布版本更新。
- 支持 Python 的 excelize PyPI 包已发布版本更新。
- 支持 C# 的 ExcelizeCs NuGet .Net 包已发布版本更新。

来源:https://developer.aliyun.com/article/1746084
上一篇类YOLO标注路面缺陷检测数据集,道路病害目标检测专用 下一篇AI筛选信息让你告别信息淹没重获生活时间
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Claude Code官方教你Loop工程附6大省token技巧
AI教程 · 2026-07-08

Claude Code官方教你Loop工程附6大省token技巧

之前写过一篇《Loop Engineering 的保姆级教程》,从概念到多工具实战,比较全面地讲了循环工程的玩法。这两天 Claude Code 官方团队下场,发了一篇博客叫「Getting started with loops」,系统地整理了他们团队内部对「循环」的定义和分类。 这篇博客的含金量十

阿里云2核4G服务器价格与选型:实例规格、收费标准及活动价
AI教程 · 2026-07-08

阿里云2核4G服务器价格与选型:实例规格、收费标准及活动价

阿里云2核4G这个配置,可以说是个人站长和中小企业用户最常关注的“爆款”了。不过它的价格可不是一个固定的数字,而是跟实例规格、带宽、云盘类型、地域等等因素紧密相关。比如目前轻量应用服务器2核4G给到峰值200M带宽、50G ESSD云盘,抢购价能做到9 9元1个月或者199元1年。通用算力型u1实例

阿里巴巴研发效能实践日:敏捷精益项目管理报名
AI教程 · 2026-07-08

阿里巴巴研发效能实践日:敏捷精益项目管理报名

研发效能提升领域又有重磅消息了。阿里巴巴研发效能实践日——由阿里研发效能部主办的线下沙龙品牌,这次携手全球领先的项目管理协会PMI,共同聚焦“敏捷精益项目管理”这一核心主题。听起来就干货满满?别急,活动精心安排了4大主题演讲,旨在帮助参会者在思维层面实现突破,并且回去就能直接落地实践。更关键的是,参

RFID资产管理系统:企业资产数字化高效管控方案
AI教程 · 2026-07-08

RFID资产管理系统:企业资产数字化高效管控方案

数字化转型走到今天,传统人工管资产那套老办法——效率低、差错多、资产一挪窝就成“失踪人口”——已经越来越扛不住了。从仓库、车间到办公室,但凡资产流转量大、品类多的企业,都急需一套能实时盯、自动盘的方案。结合多行业的落地经验来看,RFID资产管理系统之所以能成为主流选择,核心在于它用射频技术把资产全生

智能体工作流知识沉淀:从一次修复到长期记忆
AI教程 · 2026-07-08

智能体工作流知识沉淀:从一次修复到长期记忆

好的,作为一位资深的技术专家和知识管理实践者,我将为你重新讲述这篇文章的核心内容,让这些观点和案例听起来更像是一次真诚的技术分享,而不是一份AI生成的报告。 在传统软件工程里,我们反复念叨“代码复用”,但到了AI Agent参与的工程时代,真正能产生复利的东西变了——从“代码复用”悄然转向了“知识复