Excelize 发布 2.6.1 版本更新,支持工作簿加密保护

xuri · · 575 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

<p align="center"><img src="https://static.golangjob.cn/220822/b1dd21309131f60761a434b8b319bf53.png" width="440" alt="github.com/xuri/excelize"/></p> [Excelize](https://github.com/xuri/excelize) 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel&trade; 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。入选 2020 Gopher China - Go 领域明星开源项目(GSP)、2018 年开源中国码云最有价值开源项目 [GVP](https://gitee.com/xurime/excelize) (Gitee Most Valuable Project),目前已成为 Go 语言最受欢迎的 Excel 文档基础库。 ## 开源代码 **GitHub:** [github.com/xuri/excelize](https://github.com/xuri/excelize) **Gitee:** [gitee.com/xurime/excelize](https://gitee.com/xurime/excelize) **中文文档:** [xuri.me/excelize/zh-hans](https://xuri.me/excelize/zh-hans/) 2022年8月22日,社区正式发布了 2.6.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 [changelog](https://github.com/xuri/excelize/compare/v2.6.0...v2.6.1)。 此版本中最显著的变化包括: ### 兼容性提示 * 重命名导出类型 `TabColor` 为 `TabColorRGB` * 重命名导出常量 `TotalColumns` 为 `MaxColumns` * 重命名导出变量 `ErrMaxFileNameLength` 为 `ErrMaxFilePathLength` * 重命名导出变量 `ErrWorkbookExt` 为 `ErrWorkbookFileFormat` * 移除了导出变量 `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` 定义了打开工作簿时密码验证失败的错误提示信息,以便开发者可根据不同的错误类型进行采取相应处理 * 新增导出常量 `MinFontSize`、`MinColumns` 和 `MaxCellStyles` 以定义最小字号、最小列号和单元格样式数量上限 * 公式引擎新增数组公式支持 * 支持根据给定的密码对工作簿进行加密保护,相关 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 下的兼容性问题 * 包含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的[多国语言文档网站](https://xuri.me/excelize)更新 ### 致谢 感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表: * @JDavidVR (David) * @sceneq * @Juneezee (Eng Zer Jun) * @MichealJl (jialei) * @ww1516123 * <a href="/user/z-hua" title="@z-hua">@z-hua</a> (z.hua) * @xdlrt (yeshu) * <a href="/user/eaglexiang" title="@eaglexiang">@eaglexiang</a> (Eagle Xiang) * @MJacred * @ReganYue (Regan Yue) * @thomascharbonnel (Thomas Charbonnel) * @ee0703 (EE) * <a href="/user/NaturalGao" title="@NaturalGao">@NaturalGao</a> (NaturalGao) * @Sangua633

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

575 次点击  ∙  3 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传