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

Excelize 开源基础库发布 2.10.0 版本更新

  •  
  •   luxurioust
    xuri 3 天前 516 次点击

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376 ,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel 、WPS 、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。

    开源代码

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

    兼容性提示

    • 升级 Go 语言版本要求至 1.24.0 或更高版本,以升级依赖包 golang.org/x/crypto

    新增功能

    • 新增导出的错误变量 ErrTransparency
    • 新增 3 项数据类型:ChartDashTypeCustomPropertyZipWriter
    • ChartMarker 数据类型中新增 Border 字段
    • ChartLegend 数据类型中新增 Font 字段
    • ChartSeries 数据类型中新增 Legend 字段
    • Fill 数据类型中新增 Transparency 字段
    • ChartLine 数据类型中新增 DashFill 字段
    • Options 数据类型中新增 TmpDir 字段,支持指定用于创建临时文件的临时目录,相关 issue 2024
    • Font 数据类型中新增 Charset 字段,支持指定字体编码
    • 新增 2 项函数 GetCustomPropsSetCustomProps,支持获取和设置工作簿的自定义属性,相关 issue 2146
    • 新增函数 SetZipWriter,支持设置自定义 ZIP 写入器,相关 issue 2199
    • 在函数 GetMergeCells 中新增可选参数 withoutValues,支持获取合并单元格时忽略读区合并单元格的值
    • 函数 DeleteDataValidation 支持删除扩展列表中的数据验证,并支持通过引用序列数组或空格分隔的引用字符串,对多个单元格范围进行删除,相关 issue 2133
    • 函数 AddChart 支持设置图表的虚线样式和数据点边框类型
    • 函数 AddChart 支持设置图表图例的字体,相关 issue 2169
    • 函数 AddChartAddChartSheet 支持创建 4 种箱体和蜡烛图类型股票图表:最高价-最低价-收盘价、开盘价-最高价-最低价-收盘价、成交量-最高价-最低价-收盘价、成交量-开盘价-最高价-最低价-收盘价图表
    • 函数 CalcCellValue 支持计算 BAHTTEXT 公式函数
    • 当字体字号小于最小值时,创建样式时将不再使用默认字体大小代替,而是忽略无效的字号设置
    • 支持解析带有伊斯兰历的单元格数字格式
    • 支持为图表和形状设置透明度,相关 issue 2176
    • 新增对以下 8 种语言的数字格式支持:科西嘉语、克罗地亚语、克罗地亚语(拉丁语)、捷克语、丹麦语、迪维希语、荷兰语、不丹语

    兼容性提升

    • 设置单元格公式时移除所有前导等号,以提升与 Apple Numbers 的兼容性,相关 issue 2145
    • 在工作簿内部关系部件中为工作表使用相对路径

    问题修复

    • 修复 v2.9.1 中引入的问题,修复 ARMv7 架构上构建失败的问题,解决 issue 2132
    • 修复在数字格式解析器解析结果中,数字格式末尾的空白字符丢失问题
    • 修复部分情况下,读取单元格时由于内部索引偏移范围无效导致的 panic 问题,解决 issue 2019 和 2150
    • 修复部分情况下,读取带有不支持的数据透视表缓存源类型时出现的 panic 问题,解决 issue 2161
    • 修复字符验证错误,在字符长度限制检查中将字符作为单个字符计数,解决 issue 2167
    • 修复部分情况下,添加数据透视表后,生成的工作簿在 Mac 版本 Excel 打开时提示文档损坏的问题,解决 issue 2180
    • 修复读取包含藏语数字格式代码的单元格时月份缩写错误的问题
    • 修复读取 1900 年带有特殊日期数字格式的结果与 Excel 不一致的问题,解决 issue 2192

    性能优化

    • 获取工作表已用区域函数 GetSheetDimension 采用流式解析,相较于上个正式版本速度最高提升约 95%,内存分配降低约 96%

    其他

    • Go Modules 依赖模块更新
    • 单元测试与文档更新
    • 包含阿拉伯语、德语、英语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语、俄语、简体中文和繁体中文的多国语言文档网站更新
    • 支持 WebAssembly / Javascript 的 excelize-wasm NPM 包发布版本更新
    • 支持 Python 的 excelize PyPI 包发布版本更新
    • 支持 C# 的 ExcelizeCs NuGet .Net 包发布
    • 使用为 Excelize 设计的新 Logo

    致谢

    感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:

    • DengY11 (Yi Deng)
    • JerryLuo-2005
    • aliavd1 (Ali Vatandoost)
    • xiaoq898
    • Now-Shimmer
    • Jameshu0513
    • mengpromax (MengZhongYuan)
    • Leopard31415926
    • hongjr03 (Hong Jiarong)
    • juefeng
    • black-butler
    • Neugls
    • Leo012345678
    • a2659802
    • torotake
    • crush-wu
    • zhuyanhuazhuyanhua
    • shcabin
    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1273 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 17:22 PVG 01:22 LAX 10:22 JFK 13:22
    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