Excelize 是 Go 语言编写的用于操作 Office Excel 文档类库,基于 ECMA-376 Office OpenXML 标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。相比较其他的开源类库,Excelize 支持写入原本带有图片 (表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中。
GitHub: github.com/360EntSecGroup-Skylar/excelize
2019 年 7 月 1 日,社区正式发布了 2.0.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 change log。
Release Notes
此版本中最显著的变化包括:
新增功能
- 新增
SetHeaderFooter()
方法,支持设置页眉和页脚,相关 issue #394 - 新增
SetColStyle()
方法,支持设置列样式,相关 issue #397 - 新增
SetDefaultFont()
和GetDefaultFont()
方法,支持设置工作簿默认字体,相关 issue #390 - 新增
SetDocProps()
和GetDocProps()
方法,支持设置和获取文档属性,相关 issue #415 - 函数
AddChart()
新增加了 26 种图表的创建:簇状圆锥、堆积圆锥、百分比堆积圆锥、三维圆锥图、簇状水平圆锥图、堆积水平圆锥图、堆积百分比水平圆锥图、簇状棱锥图、堆积棱锥、百分比堆积棱锥、三维棱锥图、簇状水平棱锥图、堆积水平棱锥图、堆积百分比水平棱锥图、簇状柱形图、堆积柱形图、百分比堆积柱形图、三维柱形图、簇状水平圆柱图、堆积水平圆柱图、堆积百分比水平圆柱图、三维曲面图、俯视框架曲面图、三维曲面框架图、气泡图与三维气泡图,不受支持的图表类型将返回错误提示 - 新增
SetDefinedName()
和GetDefinedName()
方法,支持设置和获取名称 - 优化并明确了打开加密文件时的错误提示信息
- 函数
AddPicture()
现在支持添加 TIF 和 TIFF 格式的图片
问题修复
- 修复当数据验证公式中存在双引号时产生的问题
- 修复内部计数错误导致的部分情况下产生重复批注问题,相关 issue #373
- 修复部分情况下因读取内部工作表 map 错误导致读取文件失败的问题,相关 issue #404
- 提升了处理包含数据透视表的文档兼容性,相关 issue #413
- 提升了字号与粗体样式的兼容性,相关 issue #411、#420 和 #425
- 优化内部重算组件以修复部分情况下在工作表中删除或插入行造成文档损坏的问题,相关 issue #421 和 #424
- 修复部分情况下隐藏工作表失效的问题,相关 issue #418
- 修复内部主题颜色索引溢出导致部分情况下图表系列过多导致文档损坏的问题,相关 issue #422
其他
- 完善单元测试提升覆盖度,行覆盖度达到 96.05%
- 代码优化,修复 golint 问题