Excelize 开源基础库 2.9.0 版本正式发布 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
hixuri
V2EX    Go 编程语言

Excelize 开源基础库 2.9.0 版本正式发布

  •  
  •   hixuri
    xuri 2024-10-16 12:55:48 +08:00 1719 次点击
    这是一个创建于 440 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Excelize 开源基础库 2.9.0 版本正式发布

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376 ,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel 、WPS 、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。自 2016 年开源以来已成为云原生应用尤其是 Go 语言开发者在处理电子表格办公文档时的热门选择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。

    开源代码

    GitHub: github.com/xuri/excelize

    中文文档: xuri.me/excelize/zh-hans

    2024 年 10 月 15 日,社区正式发布了 2.9.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,此版本中最显著的变化包括:

    兼容性提示

    • 将数据类型 ConditionalFormatOptions 中的字段 Format 修改为指针类型,解决 issue #1867

    新增功能

    • 新增函数 DeleteSlicerGetSlicers 支持删除和获取切片器,相关 issue #810
    • 新增函数 MoveSheet 支持移动工作表在工作簿中的位置,相关 issue #1076
    • 数据类型 GraphicOptions 中添加了新的字段 AutoFitIgnoreAspect 支持添加图片时以忽略比例的方式填充单元格
    • 数据类型 ChartAxis 中添加了新的字段 TickLabelPosition 以支持设置图表坐标轴标签的位置
    • 数据类型 PivotTableField 中添加了新的字段 ShowAllInsertBlankRowNumFmt
    • 数据类型 PivotTableOptions 中添加了新的字段 ClassicLayoutFieldPrintTitlesItemPrintTitles
    • 新增 2 项枚举类型 ChartTickLabelPositionTypePictureInsertType
    • 新增举类型值 ChartLineUnset
    • 新增 4 项新增扩展资源标识常量 ExtURIDataFieldExtURIPivotFieldExtURIPivotFilterExtURIPivotHierarchy
    • 新增导出错误变量 ErrPivotTableClassicLayout
    • 函数 MergeCell 合并单元格时将清除除合并区域左上角单元格之外其他单元格的值
    • 函数 AddDataValidationDeleteDataValidationGetCellStyle 支持并发安全调用,相关 issues #1825 和 #1903
    • 获取数据验证函 GetDataValidations 支持获取存储于扩展列表中的数据验证规则,相关 issue #1835
    • 设置工作表名称函数 SetSheetName 支持大小写敏感,相关 issue #1856
    • 函数 GetPictureCellsGetPictures 支持获取通过 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)

    《 Excelize 权威指南》新书发布

    Excelize 开源基础库 2.8.1 版本发布, 2024 年首个更新

    《 Excelize 权威指南》不仅介绍了 Excelize 库的基本使用方法,还深入探索了高级特性和应用场景。全书共分五个篇章:入门指南、基础库设计概览、深入 Excelize 、高性能流式读写技术以及实践应用。通过这本书,你将学会如何利用 Go 语言和 Excelize 库,实现 Excel 文件的自动化处理、复杂数据分析以及报表生成等任务。

    你将不再受限于 Excel 的传统操作方式,而是能够通过编程的方式,解锁 Excel 新境界,创造出更加智能、高效的数据处理解决方案。

    欢迎加入技术交流群

    Excelize 技术交流群

    5 条回复    2024-10-17 22:33:41 +08:00
    awalkingman
        1
    awalkingman  
       2024-10-16 18:25:28 +08:00   2
    虽然不加群也不买书,还是点个赞,因为我真的用了。
    hixuri
        2
    hixuri  
    OP
       2024-10-16 21:03:39 +08:00
    @awalkingman 谢谢你的支持
    14
        3
    14  
       2024-10-16 23:32:39 +08:00   1
    前段时间实测 Excelize 速度非常快,已经用上了
    HaroldFinchNYC
        4
    HaroldFinchNYC  
       2024-10-17 07:18:34 +08:00
    能否用这个库做一个单独的服务,比如,导出数据为 excel ?谢谢
    hixuri
        5
    hixuri  
    OP
       2024-10-17 22:33:41 +08:00
    @HaroldFinchNYC 可以的,根据需要组合使用库提供的各个函数。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1339 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:00 PVG 01:00 LAX 09:00 JFK 12:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86