Excelize v2.2.0

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)打开生成的文档进行重新计算公式
  • 完善单元测试中的错误处理
  • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新