Excelize 2.3.0 发布, Go 语言 Excel 基础库

github.com/xuri/excelize

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。入选 2018 开源中国码云 Gitee 最有价值开源项目 GVP,目前已成为 Go 语言最受欢迎的 Excel 文档基础库。

开源

GitHub: github.com/xuri/excelize

2020年8月10日,社区正式发布了 2.3.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 changelog。

Release Notes

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

新增功能
  • 支持并发设置单元格的值,相关 issue #670
  • 新增 API: SetSheetFormatPrGetSheetFormatPr,支持设置工作表格式属性,相关 issue #635
  • 新增 API: GetColsCols 列迭代器
  • AddChart 添加图表 API 支持指定 Y 轴对数刻度,相关 issue #661
  • AddPicture 添加图片 API 支持插入图片自适应单元格
  • 增加对行、列和工作簿名称的长度上限的检查
  • 公式计算引擎支持自定义名称,相关 issue #665
  • API CalcCellValue 更新:新增 12 项函数, COUNTA, ISBLANK, ISERR, ISERROR, ISEVEN, ISNA, ISNONTEXT, ISODD, ISNUMBER, MEDIAN, NASUMIF
兼容性提升
  • 兼容不同大小写的文档内部组件路径
  • 字符型单元格的值存储于共享字符表中,降低生成文档体积
  • 支持工作表中无 r 属性的 row 标签,以修复部分情况下读取工作表内容为空的问题
  • 支持多命名空间的 XML 标签,以兼容金山 WPS 等电子表格应用程序,解决 issue #651
  • 自动筛选器兼容 Office 2007 - 2010 版本的电子表格应用程序,解决 issue #637
问题修复
  • 修复因工作簿内产生了重复的筛选数据库而导致的文档损坏问题
  • 避免添加样式时生成重复的样式定义
  • 修复设置富文本中包含的特殊字符丢失问题
  • 修复使用 Office 应用程序打开添加批注的文档,保存后再次打开批注形状不为矩形的问题,解决 #672
  • 避免部分情况下开启编译内联优化参数时潜在的运行时 panic 问题,解决 issue #677 和 #679
  • 修正获取百分比单元格值的数值精度问题
其他
  • 修复特定情况下打开无效工作表时出现的异常 panic 问题
  • 完善单元测试中的错误处理
  • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新