Excelize 2.3.2 发布,Golang Go语言 Excel 文档基础库,2021 年首个更新

发布于 1周前 作者 songsunli 来自 Go语言

Excelize 2.3.2 发布,Golang Go语言 Excel 文档基础库,2021 年首个更新

github.com/360EntSecGroup-Skylar/excelize

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

开源代码

GitHub: github.com/xuri/excelize

Gitee: gitee.com/xurime/excelize

中文文档: xuri.me/excelize/zh-hans

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

Release Notes

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

新增功能

  • 数据透视表 API AddPivotTable 支持缺省列与多重数据源,相关 issue #710
  • 使用 GetCellValue 获取单元格的值支持自定义日期与时间数字格式,相关 issue #703
  • 计算单元格的值 API CalcCellValue 新增公式函数支持 ANDCLEANTRIMLOWERPROPERUPPEROR,相关 issue #701#747
  • 数据验证新增支持浮点型小数区间验证规则,相关 issue #739
  • 创建图表 API AddChart 新增支持设置数据系列线型宽度和线端类型,相关 issue #549#654
  • 创建图表 API AddChart 支持指定是否关闭不与图表重叠的图例

兼容性提升

  • 提升包含 6 个以上数据系列的折线图与 Kingsoft WPS™ 应用程序的兼容性,相关 issue #627
  • 避免部分情况下工作簿内部样式数据产生的冗余
  • 动态解析工作簿核心数据部件
  • 支持工作表中多行复用相同行标签的工作簿,相关 issue #732

问题修复

  • 修复公式词法分析器解析特定非法公式时潜在的 panic 问题,相关 issue #711
  • 修复使用相同名称进行重命名工作表时导致工作表丢失的问题,相关 issue #713
  • 修复部分情况下 NewSheet 返回工作表索引错误的问题,相关 issue #714
  • 修复特定情况下使用非内建数字格式 ID 应用单元格数字格式时产生的 panic 问题,相关 issue #715#741
  • 修正公式计算引擎数据精度,相关 issue #727
  • 修复部分情况下复制行数据失效的问题,相关 issue #729
  • 修复部分情况下删除工作表后默认活动工作表错误的问题,相关 issue #735
  • 修复当使用 AddPicture 向带有多个合并单元格的工作表中插入图片时,指定自适应尺寸失效的问题,相关 issue #748
  • 修复部分情况下复制行时,合并单元格处理异常的问题,相关 issue #752

性能优化

  • 流式写入数据时的内存使用降低约 60%,相关 issue #659
  • 优化内部方法 worksheetWriter 运行时对内存分配的影响,相关 issue #722
  • 提高 AddPicture 添加图片 API 的性能,相关 issue #706

其他

  • 单元测试与文档更新
  • 新增 3 种文档语言:阿拉伯语、德语和西班牙语
  • 欢迎加入技术交流群

DingTalk Group ID: 30047129

QQ Group ID: 207895940

WeChat ID: hixuri (请备注: Excelize)

Excelize 技术交流群

更多关于Excelize 2.3.2 发布,Golang Go语言 Excel 文档基础库,2021 年首个更新的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

9 回复

支持,希望 Go 的库越来越丰富。。

更多关于Excelize 2.3.2 发布,Golang Go语言 Excel 文档基础库,2021 年首个更新的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


跟 360 有关系么?

挺好的,就是 GetSheet 的 api 一直不符合直觉,有时候取的不是第一个 sheet,这种场景蛮常见的。

合并单元格什么时候优化下性能呀?里面很多骚操作服务器完全顶不住。。

希望生态越来越好

mergeCell 方法能不能优化一下,太吃性能了

Excelize 2.3.2版本的发布确实是Golang在处理Excel文档方面的一个重要更新。以下是对此版本的简要介绍和评价:

Excelize是一个基于Go语言编写的,用于操作Office Excel文档的基础库。它遵循ECMA-376和ISO/IEC 29500国际标准,能够读取和写入由Microsoft Excel 2007及以上版本创建的电子表格文档,包括XLSX、XLSM、XLTM等多种格式。该库还高度兼容带有样式、图片、透视表、切片器等复杂组件的文档,并提供了流式读写API,以处理包含大规模数据的工作簿。

2.3.2版本带来了多项新增功能和改进。例如,数据透视表API现在支持缺省列与多重数据源;GetCellValue函数支持自定义日期与时间数字格式;CalcCellValue函数新增了AND、CLEAN、TRIM等多个公式函数支持;数据验证新增了浮点型小数区间验证规则等。此外,该版本还提升了与Kingsoft WPS等应用程序的兼容性,并修复了多个潜在的问题和错误。

作为Go语言领域受欢迎的Excel文档基础库,Excelize的这次更新无疑将进一步增强其功能和稳定性。对于需要在Go语言项目中处理Excel文档的开发者来说,这是一个值得关注和尝试的版本。

回到顶部