Excelize 是 Go 语言编写的用于操作 Office Excel 文档根底库,基于 ECMA-376,ISO/IEC 29500 国际标准。能够应用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创立的电子表格文档。反对 XLSX / XLSM / XLTM 等多种文档格局,高度兼容带有款式、图片 (表)、透视表、切片器等简单组件的文档,并提供流式读写 API,用于解决蕴含大规模数据的工作簿。可利用于各类报表平台、云计算、边缘计算等零碎。入选 2020 Gopher China – Go 畛域明星开源我的项目 (GSP)、2018 年开源中国码云最有价值开源我的项目 GVP (Gitee Most Valuable Project),目前已成为 Go 语言最受欢迎的 Excel 文档根底库。
开源代码
GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
中文文档: xuri.me/excelize/zh-hans
2021 年 8 月 2 日,社区正式公布了 2.4.1 版本,该版本蕴含了多项新增性能、谬误修复和兼容性晋升优化。上面是无关该版本更新内容的摘要,残缺的更改列表可查看 changelog。
此版本中最显著的变动包含:
兼容性提醒
Go Modules 包援用地址调整为 github.com/xuri/excelize/v2
新增性能
- 新增流式设置工作表列宽度反对,相干 issue #625
- 新增流式创立合并单元格反对,相干 issue #826
- 公式计算引擎新增 2 项公式函数反对: BESSELK, BESSELY
- 公式计算引擎反对自定义名称援用,相干 issue #856
- 增加图表时反对设置不显示次要横纵坐标轴
- 通过
AddPivotTable
创立数据透视表反对通过自定义名称动静援用数据源 -
以下函数新增反对并发平安调用,相干 issue #861
AddPicture
和GetPicture
并发插入 / 获取图片Rows
和Cols
并发行 / 列迭代SetSheetRow
并发按行赋值SetCellStyle
并发设置单元格款式NewStyle
并发创立款式
- 导出 24 个外部异样音讯
兼容性晋升
- 晋升外部默认 XML 命名空间兼容性,修复局部状况下生成文档损坏的问题
- 兼容带有非标准页面布局属性数据类型的电子表格文档,防止关上失败的问题
- 减少外部共享字符表计数
- 解除通过给定的工夫设置单元格的值时,须要协调世界时 (UTC) 的限度,相干 issue #409
- 减少对外部 XML 控制字符的兼容
- 重命名导出字段
File.XLSX
为File.Pkg
- 批改
NewSheet
,GetSheetIndex
,DeleteSheet
对工作表名称大小写不敏感,相干 issue #873 - 修复条件格局与数据透视表的兼容性问题,解决 issue #883
- 改良与页面布局中有效的首页编号属性的兼容性
SetCellRichText
减少字符数下限查看并修复保留字符失落问题
问题修复
- 修复局部状况下 12/24 制小时工夫格局解析异样的问题,解决 issue #823 和 issue #841
- 修复局部状况下无奈通过
GetComments
获取批注的问题,解决 issue #825 - 修复设置和获取批注时反对多个批注作者,解决 issue #829 和 #830
- 修复命名空间地址解析异样而产生反复命名空间,导致删除再创立同名工作表后的生成文档损坏问题,解决 issue #834
- 修复当设置工作表分组默认属性
showOutlineSymbols
、summaryBelow
和summaryRight
为false
时,设置生效的问题 - 修复局部状况下
GetRows
返回冗余工作表尾部空行的问题,解决 issue #842 - 修复局部状况下获取获取单元格的值时,未返回带有公式的空单元格的问题,解决 issue #855
- 修复局部状况下 IF 公式条件运算谬误问题,解决 issue #858
- 修复通过
GetRowHeight
获取行高度谬误的问题 - 修复局部状况下因范畴解析异样导致获取和删除自定义名称谬误的问题,解决 issue #879
- 修复设置自定义名称时关联工作表索引谬误的问题
- 修复设置列款式时已有单元格款式未被更新的问题,解决 issue #467
- 修复应用非法数据援用范畴创立数据透视表时导致的潜在 panic 的问题
- 修复局部状况下读取数字精度异样的问题,解决 issue #848 和 #852
- 修复设置数据验证规定时,局部状况下因未进行 XML 字符本义解决导致生成文档损坏的问题,解决 issue #971
- 修复设置数据验证规定长度校验不精确问题,解决 issue #972
- 修复由工夫解析异样导致的,局部状况下读取带有工夫或日期数字格局单元格时 CPU 资源占用率过高问题,解决 issue #974
- 修复局部状况下,当自定义数字格局为日期时,月份解析失败的问题
性能优化
- 通过
Save
保留或SaveAs
另存文档时的内占用升高约 19%
其余
- 修复潜在的代码平安问题 CWE-190 和 CWE-681
- Go Modules 依赖模块更新
- 单元测试与文档更新
- 继续集成服务改用 GitHub Action
- 蕴含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新