Excelize v2.9.0
《Excelize 权威指南》图书出版,网上购买方式:人民邮电出版社 |异步社区 |天猫 |京东 |当当 |微店 |抖音 |拼多多
- 发布日期: 2024年10月15日
- GitHub Release: https://github.com/xuri/excelize/releases/tag/v2.9.0
版本说明
此版本中最显著的变化包括:
兼容性提示
- 将数据类型
ConditionalFormatOptions
中的字段Format
修改为指针类型,解决 issue #1867
新增功能
- 新增函数
DeleteSlicer
和GetSlicers
支持删除和获取切片器,相关 issue #810 - 新增函数
MoveSheet
支持移动工作表在工作簿中的位置,相关 issue #1076 - 数据类型
GraphicOptions
中添加了新的字段AutoFitIgnoreAspect
支持添加图片时以忽略比例的方式填充单元格 - 数据类型
ChartAxis
中添加了新的字段TickLabelPosition
以支持设置图表坐标轴标签的位置 - 数据类型
PivotTableField
中添加了新的字段ShowAll
、InsertBlankRow
和NumFmt
- 数据类型
PivotTableOptions
中添加了新的字段ClassicLayout
、FieldPrintTitles
和ItemPrintTitles
- 新增 2 项枚举类型
ChartTickLabelPositionType
和PictureInsertType
- 新增举类型值
ChartLineUnset
- 新增 4 项新增扩展资源标识常量
ExtURIDataField
、ExtURIPivotField
、ExtURIPivotFilter
和ExtURIPivotHierarchy
- 新增导出错误变量
ErrPivotTableClassicLayout
- 函数
MergeCell
合并单元格时将清除除合并区域左上角单元格之外其他单元格的值 - 函数
AddDataValidation
、DeleteDataValidation
和GetCellStyle
支持并发安全调用,相关 issues #1825 和 #1903 - 获取数据验证函數
GetDataValidations
支持获取存储于扩展列表中的数据验证规则,相关 issue #1835 - 设置工作表名称函数
SetSheetName
支持大小写敏感,相关 issue #1856 - 函数
GetPictureCells
和GetPictures
支持获取通过 IMAGE 公式添加的图片和内部以绝对路径形式存储的图片 - 在
GraphicOptions
数据类型中新增了AutoFitIgnoreAspect
选项,支持以忽略原始纵横比例的方式将图片尺寸填充单元格 - 设置超链接函数
SetCellHyperLink
支持指定 linkType 为None
以删除单元格超链接,相关 issue #1940 - 添加图表函数
AddChart
支持创建带有多个相同图表类型的组合图表,相关 issue #1940 - 添加图表函数
AddChart
支持设置散点图线型 - 使用
AddPivotTable
函数创建数据透视表时,若数据源引用的单元格范围内首行单元格的值为空,将返回错误,相关 issue #1945 - 读取单元格的值时,支持应用带有语言/地区标签和 ID 的数字格式表达式
- 读取单元格的值时,支持为时间和时间间隔应用动态数字格式,相关 issue #2004
- 新增公式函数:DOLLAR
兼容性提升
- 提升了读取带有对齐格式的数字格式单元格的兼容性,解决 issue #1847
- 提升了对内部带有命名空间前缀的工作表部件的兼容性,解决 issue #1886
- 提升了对内部带有绝对路径多媒体部件的兼容性,解决 issue #1888
问题修复
- 修复 v2.8.1 中引入的问题,自动过滤器在 LibreOffice 中失效的问题,解决 issue #1830
- 修复 v2.8.1 中引入的问题,删除行列时支持调整带有多重单元格引用的数据验证,解决 issue #1831
- 修复 v2.8.1 中引入的问题,修复了复制行时,如果工作表中带有多重单元格引用的条件格式或数据验证,将返回错误的问题
- 修复 v2.8.1 中引入的问题,修复了多次保存时单元格的值设置有误的问题,解决 issue #1906
- 修复 v2.8.1 中引入的问题,修复了迷你图预期外地出现在多张工作表中的问题,解决 issue #1910
- 公式计算函数
CalcCellValue
支持计算带有矩阵参数的公式函数 ISNUMBER、OR 和 FIND,解决 issue #1819 - 修复部分情况下公式计算函数
CalcCellValue
计算结果数值舍入精度有误的问题,解决 issue #1851 - 修复计算函数
CalcCellValue
对带有 XIRR 和 XNPV 的公式计算结果有误问题,解决 issue #1989 - 修复部分情况下
RemoveCol
函数返回错误的问题,解决 issue #1829 - 修复部分公式计算函数 DATE 的计算结果数据类型有误的问题,解决 issue #1833
- 修复读取内部工作表部件中缺少
r
属性的工作簿时,出现 panic 的问题 - 修复部分情况下,插入行或列后,单元格公式中的括号出现丢失的问题,解决 issue #1861
- 修复部分情况下,数据验证规则中的部分字符被不正确地转义问题
- 修复流式写入单元格的值时,部分字符无法正确显示的问题,解决 issue #1865
- 保存工作簿时将对内部部件排序,以获得一致的文件哈希值和正确的互联网媒体类型,解决 issue #1889
- 修复添加图表函数
AddChart
在组合图表中设置坐标轴格式失效的问题,解决 issue #1921 - 修复添加图表函数
AddChart
设置图表主坐标轴标题位置有误的问题 - 修复添加图表函数
AddChart
设置垂直次坐标轴标题无法被正常显示的问题,解决 issue #1926 - 修复添加图表函数
AddChart
设置折线图线型无效的问题 - 修复部分情况下获取数据透视表函数
GetPivotTables
返回数据透视表的数据源范围有误的问题,解决 issue #1937 - 修复获取样式函数
GetStyle
在读取不包含sysClr
属性的工作簿时出现 panic 的问题,解决 issue #1963 - 修复获取单元格富文本函数
GetCellRichText
在读取不包含共享字符串表索引单元格时返回错误的问题,解决 issue #1999 - 修复使用
SetSheetVisible
函数读取不含视图属性的工作表时出现 panic 的问题,解决 issue #1969 - 修复部分情况下读取带有数字格式单元格的值时,百分比符号丢失的问题,解决 issue #1942
- 修复带有负数值的散点图水平坐标轴不现实的问题
- 修复因删除行列而调整图片、图表、形状等绘图对象位置后,与形状相关联的宏丢失的问题,解决 issue #1957
- 修复部分情况下删除列后,条件格式丢失的问题,解决 issue #1968
- 修复部分情况下读取数值单元格的值精度有误的问题,解决 issue #1979
- 支持设置单元格的值为 IEEE 754 “非数字”值或无穷大,解决 issue #119 和 #1955
性能优化
- 修复 v2.8.0 中引入的性能下降和内存占用增加问题
- 降低了按行获取全部单元格的值函数
GetRows
的内存占用,相关 issue #1874 - 优化了索引转列名函数
ColumnNumberToName
的性能,最多降低内存占用 50%,耗时最多减少 50%
其他
- Go Modules 依赖模块更新
- 单元测试与文档更新
- 包含阿拉伯语、德语、英语、西班牙语、法语、日语、韩语、葡萄牙语、俄语、简体中文和繁体中文的多国语言文档网站更新,新增意大利语文档
致谢
感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:
- @mirgong (helloWorld)
- @YueChenXu-Kimi (岳晨旭)
- @JackMin1314 (陈王)
- @paolobarbolini (Paolo Barbolini)
- @iEvan-lhr (Evan lu)
- @yetyear (yeahyear)
- @ha5ky (hu5ky)
- @lizhichao (vic)
- @realzuojianxiang (realzuojianxiang)
- @msackman (Matthew Sackman)
- @yyle88 (yangyile-yyle88)
- @yunkeweb (yunkeweb)
- @iraj720 (Nima)
- @jianxinhou
- @barlevd
- @18409615759 (nna)
- @qijinkui (xiaokui)
- @user1121114685 (联盟少侠)
- @wangsongyan
- @vsemichev (Vovka Morkovka)
- @zhayt (Aybek)
- @ShowerBandV (ShowerBandV)
- @imink (Patrick Wang)
- @samkeke (wxy)
- @pjh591029530
- @zhangyimingdatiancai
- @wanghaochen2024
- @centurion-hub
- @peng (Zhang Zhipeng)
- @slashdotdash (Ben Smith)
- @ArcholSevier
- @liuwangchao
- @Zncl2222 (Jian Yu, Chen)