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

简介: Go 语言电子表格文档基础库 Excelize 迎来 2021 年首个更新。2021年1月4日,社区正式发布了 2.3.2 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化

github.com/xuri/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 种文档语言:阿拉伯语、德语和西班牙语
目录
相关文章
|
11天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
52 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
30天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
106 67
|
6天前
|
算法 安全 Go
Go 语言中实现 RSA 加解密、签名验证算法
随着互联网的发展,安全需求日益增长。非对称加密算法RSA成为密码学中的重要代表。本文介绍如何使用Go语言和[forgoer/openssl](https://github.com/forgoer/openssl)库简化RSA加解密操作,包括秘钥生成、加解密及签名验证。该库还支持AES、DES等常用算法,安装简便,代码示例清晰易懂。
34 12
|
9天前
|
监控 算法 安全
解锁企业计算机监控的关键:基于 Go 语言的精准洞察算法
企业计算机监控在数字化浪潮下至关重要,旨在保障信息资产安全与高效运营。利用Go语言的并发编程和系统交互能力,通过进程监控、网络行为分析及应用程序使用记录等手段,实时掌握计算机运行状态。具体实现包括获取进程信息、解析网络数据包、记录应用使用时长等,确保企业信息安全合规,提升工作效率。本文转载自:[VIPShare](https://www.vipshare.com)。
19 0
|
23天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数
go基础编程 day-2
Go的常亮 关键字: Const Go常亮的多个定义: // 定义常亮的关键字 const // 定义多个常亮 const( PI = 3.14 const1 = "1" const2 = 2 const3 = 3 ) 全局变量...
1155 0
go基础编程 day-1
Go语言的特性 开启了学习新的语言路程,记录每天学习的笔记,与大家一起分享。   ①、自动垃圾回收   ②、更丰富的内置类型   ③、函数多返回值   ④、错误处理   ⑤、匿名函数和闭包   ⑥、类型和接口   ⑦、并发编程   ⑧、反射   ⑨、语言交互性 Go内置的关键字...
1124 0
|
1月前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
41 7
|
1月前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
1月前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
102 71