Excelize 发布 2.2.0 版本,Go 语言 Excel 文档基础库

本贴最后更新于 1438 天前,其中的信息可能已经时移世改

excelizebanner.png

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

GitHub:

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

Release Notes


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

新增功能

  • 下列 API 的参数将使用工作表索引代替工作表 ID: GetSheetNameGetSheetIndexGetActiveSheetIndexSetActiveSheet, 相关 #485
  • 新增 GetSheetList API,获取与工作簿内顺序保持一致的工作表列表
  • 新增 AddChartSheet API,支持创建图表工作表,相关 issue #451
  • 新增 UnsetConditionalFormat API,支持从工作表中删除条件格式,相关 issue #571
  • 新增 DeleteDataValidation API,支持从工作表中删数据验证设置,相关 issue #348
  • 新增 SetCellRichText API,支持设置单元格换行与富文本样式,相关 issue #172
  • 新增函数 InsertPageBreakRemovePageBreak,支持从工作表中插入或删除换页符,相关 issue #492
  • 函数 AddPivotTable API 更改,支持设置数据透视表的数据标签与汇总函数,相关 issue #582
  • 函数 AddPivotTable 支持设置数据透视表的筛选项,相关 issue #598
  • 函数 AddPivotTable 支持数据透视表中的值、行或筛选项为空
  • 导出函数 ExcelDateToTime,提供将 Excel 时间格式转换为 time.Time 数据类型
  • 导出 Style 结构体,允许通过结构体指针或 JSON 字符创建样式,相关 issue #470

问题修复

  • 修复当使用 SetConditionalFormat 为单元格设置条件格式时,>=<= 运算符不生效的问题, 解决 issue #608
  • 修复特定情况下通过 StreamWriter 进行流式写入导致工作表损坏的问题,解决 issue #576
  • 提高公式中的特殊字符兼容性,解决 issue #578
  • 修复通过 DuplicateRowTo 进行复制行时,合并单元格未被复制的问题,解决 issue #586
  • 修复特定情况下创建条件格式后,相邻单元格边框样式丢失问题,解决 issue #200
  • 修复通过 GetComments 获取批注式部分批注数据无法获取问题,解决 issue #345
  • 修复特定情况下通过 GetCellValue 获取单元格值错误问题,解决 issue #602
  • 修复因某些情况下文档内部行内单元格缺少 r 属性而导致的 GetCellValue 错误地返回空值问题
  • 兼容单元格样式中的空值与默认值,修复部分情况下通过电子表格软件打开生成文档修改样式失效的问题,解决 issue #628

性能提升

  • 优化内部函数 getRowHeight,降低内存占用

其他

  • 移除工作表计算属性使部分电子表格应用程序(如:金山 WPS™ Office)打开生成的文档进行重新计算公式
  • 完善单元测试中的错误处理
  • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
  • 技术交流群

DingTalk Group ID: 30047129
QQ Group ID: 207895940

  • Excelize
    12 引用 • 3 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    395 引用 • 3408 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    491 引用 • 1383 回帖 • 374 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    172 引用 • 990 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...