![](http://dingyue.ws.126.net/2020/0229/86c2f89dp00q6gvb70099d000m800bop.png)
Excelize 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 OOXML Spec。可以使用它来读取、写入 XLSX 文件,相比较其他的开源类库,Excelize 支持操作带有数据透视表、切片器、图表与图片的 Excel 并支持向 Excel 中插入图片与创建简单图表,可应用于各种报表系统中。Excelize 作为 2018 开源中国 Gitee 最有价值开源项目 GVP,现已成为 Go 语言最受欢迎的 Excel 文档基础库。
开源代码
github.com/xuri/excelize
Excelize 知名用户
![](http://dingyue.ws.126.net/2020/0229/991ea505p00q6gv2j004hd000s600azp.png)
更新摘要
2020 年 2 月 10 日,社区正式发布了 2.1.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。此版本中最显著的变化包括:
新增功能
- 新增 DeleteDefinedName 方法,支持从工作簿或工作表中删除名称
1. 新增 SetPageMargins 和 GetPageMargins 方法,支持获取和设置页面边距
2. 新增 DeleteChart 和 DeletePicture 方法,支持从工作表中删除图表和图片
3. 增加对非 UTF-8 编码 Excel 文档的支持
4. 函数 AddChart 现已支持创建子母饼图、复合条饼图和组合图
5. 函数 AddChart 新增设置图表主要网格线支持,相关 issue #501
6. 函数 AddChart 支持设置折线图线条宽度,相关 issue #505
7. 函数 AddChart 现已支持指定图表坐标轴标签间隔单位,相关 issue #538
8. 函数 SetColVisible 支持对指定范围内的多列进行可见行设置
9. 函数 AddPivotTable 支持创建数据透视表时,所引用数据源区域存在空列,相关 issue #511
问题修复
- 修复单元格值的末尾空白字符丢失问题
1. 函数 MergeCell 支持重叠合并单元格处理,解决 issue #533
2. 修复某些情况下空内联富文本丢失的问题,解决 issue #529
3. 修复对空工作簿视图的处理,解决 issue #426
4. 增加对公式中存在的转义字符处理,解决 issue #546
性能优化
- 新增 NewStreamWriter 和 Flush 方法,适用于生成包含大规模数据的工作表。与非流式写入相比,可降低 90.2% 的内存开销、节省 53% 时间
1. 函数 GetRows 内存采用流式数据读取,读取电子表格文档内存开销降低 87.9%,相关 issue #146 和 issue #382
2. 兼容性提升,新增 49 个文档内部 XML 命名空间支持
其他
- 对于解析 XML 过程出现的异常将使用日志记录,相关 issue #539
1. 提高单元测试覆盖度(行覆盖度:97.04%)
2. 完善单元测试中的错误处理包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
3. 技术交流群
热门跟贴