乐趣区

关于开源软件:Excelize-发布-261-版本更新支持工作簿加密保护

Excelize 是 Go 语言编写的用于操作 Office Excel 文档根底库,基于 ECMA-376,ISO/IEC 29500 国际标准。能够应用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创立的电子表格文档。反对 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格局,高度兼容带有款式、图片 (表)、透视表、切片器等简单组件的文档,并提供流式读写 API,用于解决蕴含大规模数据的工作簿。可利用于各类报表平台、云计算、边缘计算等零碎。入选 2020 Gopher China – Go 畛域明星开源我的项目 (GSP)、2018 年开源中国码云最有价值开源我的项目 GVP (Gitee Most Valuable Project),目前已成为 Go 语言最受欢迎的 Excel 文档根底库。

开源代码

GitHub: github.com/xuri/excelize

Gitee: gitee.com/xurime/excelize

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

2022 年 8 月 22 日,社区正式公布了 2.6.1 版本,该版本蕴含了多项新增性能、谬误修复和兼容性晋升优化。上面是无关该版本更新内容的摘要,残缺的更改列表可查看 changelog。

此版本中最显著的变动包含:

兼容性提醒

  • 重命名导出类型 TabColorTabColorRGB
  • 重命名导出常量 TotalColumnsMaxColumns
  • 重命名导出变量 ErrMaxFileNameLengthErrMaxFilePathLength
  • 重命名导出变量 ErrWorkbookExtErrWorkbookFileFormat
  • 移除了导出变量 ErrEncrypt
  • 工作表名称不再辨别大小写

新增性能

  • 新增 34 项公式函数: CONVERT, COVARIANCE.S, DAVERAGE, DAYS360, DCOUNT, DCOUNTA, DGET, DMAX, DMIN, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EOMONTH, EUROCONVERT, GROWTH, HYPERLINK, MINVERSE, MMULT, NETWORKDAYS, NETWORKDAYS.INTL, PEARSON, RSQ, SKEW.P, SLOPE, STDEVPA, STEYX, TREND, WEEKNUM, WORKDAY, WORKDAY.INTL
  • 新增 DeleteComment 函数反对删除单元格批注,相干 issue #849
  • 通过 AddShape 函数增加形态时反对指定宏
  • 新增对 1900 和 1904 日期零碎的反对,相干 issue #1212
  • 新增更新超链接反对,相干 issue #1217
  • 通过 AddPicture 增加图片时,现已容许插入 EMF、WMF、EMZ 和 WMZ 格局图片,相干 issue #1225
  • 优化关上工作簿失败时的谬误提示信息,新增导出变量 ErrWorkbookPassword 定义了关上工作簿时明码验证失败的谬误提示信息,以便开发者可依据不同的谬误类型进行采取相应解决
  • 新增导出常量 MinFontSizeMinColumnsMaxCellStyles 以定义最小字号、最小列号和单元格款式数量下限
  • 公式引擎新增数组公式反对
  • 反对依据给定的明码对工作簿进行加密爱护,相干 issue #199
  • 设置单元格富文本格式时,反对通过指定 RichTextRun 中的 vertAlign 属性设置上标和下标
  • 通过 DeleteDataValidation 函数删除数据验证时,反对省略第二个援用区域参数以删除工作表中的全副数据验证,相干 issue #1254
  • 公式计算引擎反对带有百分比符号的条件比拟表达式
  • 公式计算引擎反对依赖依赖公式计算,相干 issue #1262
  • 新增文档关上选项 MaxCalcIterations 以反对指定公式迭代计算的最多迭代次数
  • 新增导出类型 ColorMappingType 以定义色彩转换枚举类型
  • 插入或删除行列时反对主动调整表格区域
  • 反对设置与获取工作表标签色彩索引、主题和色调,相干 issue #1283
  • 行迭代器新增函数 GetRowOpts 反对读取行属性,相干 issue #1296

兼容性晋升

  • 晋升与外部蕴含有效款式计数工作簿的兼容,解决 issue #1211
  • 晋升与 Google Sheet 的兼容性,解决 issue #1244 和 #1314
  • 流式写入器将不再为值为 nil 的单元格写入工作表,解决 issue #1299

问题修复

  • 修复当数据透视表中值区间与行 / 列区间蕴含雷同字段时,生成的工作簿损坏问题,解决 issue #1203
  • 修复因短少单元格类型查看导致的获取单元格富文本内容异样问题,解决 issue #1213
  • 修复读取单元格值时,因单元格类型推断谬误导致的读取后果异样问题,解决 issue #1219
  • 修复读取带有 0 占位符数字格局表达式款式的单元格时,值为空的问题,解决 #1312 和 #1313
  • 修复局部状况下设置单元格值时,单元格继承行列款式有误的问题,解决 issue #1163
  • 修复在不蕴含视图属性设置的工作表中设置窗格时将呈现 panic 的问题
  • 修复局部状况下公式引擎多参数公式计算结果有误的问题
  • 修复因外部页眉页脚属性定义程序有误导致的生成工作簿损坏问题,解决 issue #1257
  • 修复局部状况下单元格赋值生效的问题,解决 issue #1264
  • 修复设置工作表视图属性时可能呈现的 panic
  • 修复局部状况下因工作表外围属性中 dcterms 属性为空,导致生成的工作簿损坏问题
  • 修复新建工作表后工作簿属性失落问题,解决 issue #1298

性能优化

  • 进步按行赋值和合并单元格的性能,复原因修复 issue #1129 时导致的性能降落
  • 优化了公式计算引擎的性能
  • 升高 AddComment 增加批注时的内存开销并缩小耗时,解决 issue #1310

其余

  • Go Modules 依赖模块更新
  • 单元测试与文档更新,修复单元测试在 go1.19 下的兼容性问题
  • 蕴含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新

致谢

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

  • @JDavidVR (David)
  • @sceneq
  • @Juneezee (Eng Zer Jun)
  • @MichealJl (jialei)
  • @ww1516123
  • @z-hua (z.hua)
  • @xdlrt (yeshu)
  • @eaglexiang (Eagle Xiang)
  • @MJacred
  • @ReganYue (Regan Yue)
  • @thomascharbonnel (Thomas Charbonnel)
  • @ee0703 (EE)
  • @NaturalGao (NaturalGao)
  • @Sangua633
退出移动版