Excelize 发布 2.6.1 版本,支持工作簿加密

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。
此版本中最显著的变化包括:
兼容性提示
- 重命名导出类型
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 下的兼容性问题
- 包含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新
致谢
感谢 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
欢迎加入 Slack 频道、Telegram 群组 或技术交流群 DingTalk Group ID: 30047129 QQ Group ID: 207895940

Excelize 发布 2.6.1 版本,支持工作簿加密的更多相关文章
- Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...
- Excelize 发布 2.3.0 版本, Go 语言 Excel 文档基础库
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...
- Excelize 发布 2.2.0 版本, Go 语言 Excel 文档基础库
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...
- Event Store 2.0发布,带来了安全支持和测试版Projections库
Event Store 2.0版本于上周发布,它带来了安全支持允许锁定Event Store和在事件流上设置访问控制列表.其主要新特性包括: HTTP和TCP之上的身份认证,包括账户管理 测试版Pro ...
- 图文解说PhpStorm 7.0版本支持PHP 5.5
PhpStorm7.0版本终于在2013年与广大开发者见面了!鉴于PhpStorm 7.0测试版中对PHP语言最新版的支持,JetBrains没让大家失望,PhpStorm 7.0正式版本中,最大的变 ...
- Nacos发布0.5.0版本,轻松玩转动态 DNS 服务
阿里巴巴微服务开源项目Nacos于近期发布v0.5.0版本,该版本主要包括了DNS-basedService Discovery,对Java 11的支持,持续优化Nacos产品用户体验,更深度的与Sp ...
- Jquery3.x高版本支持IE8
最近在做项目的时候,遇到一个安全漏洞的问题 检测到目标站点存在javascript框架库漏洞 解决办法是 将受影响的javascript框架库升级到最新版本. 好吧,就给你升吧,升完之后,我的天啊,尽 ...
- Flutter竟然发布了1.5版本!!!!
2018年2月,Flutter推出了第一个Beta版本,在2018年12月5日,Flutter1.0版本发布,当时用了用觉得这个东西非常好用,对于当时被RN搞的头皮发麻的我来说简直是看到了曙光.而在昨 ...
- New!Devexpress WPF各版本支持VS和SQL Server版本对应图
点击获取DevExpress v19.2.3完整版试用下载 本文主要为大家介绍DevExpress WPF各大版本支持的VS版本和支持的.Net版本图,Devexpress WPF v19.2.3日前 ...
随机推荐
- 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选
一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...
- 使用Redis实现购物车功能
增加购物车商品 假设ID为1001的向购物车中存放了3个商品,产品ID分别为10021.10025.10079 hset cart:1001 10021 1 hset cart:1001 10025 ...
- python中f'{}'用法
python3.6增加的方法,字符串定义以f开头,可以使用{}包裹变量,方便字符串的定义. 有些时候很懒,碰到写的比较清晰的就直接搬运:https://blog.csdn.net/weixin_387 ...
- 安装typescript环境并开启VSCode自动监视编译ts文件为js文件
一.前言 小编最近开始学习typescript,懂得人都知道,typescript是vue3的基础伴生,配合更加默契.就像vue2和js一样!typescript不像js那样浏览器直接可以解读,需要我 ...
- KTL 一个支持C++14编辑公式的K线技术工具平台 - 第七版,体验GPGPU。
K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...
- bat-windows系统激活
激活命令 slmgr -ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D slmgr -skms kms.03k.org slmgr -ato slmgr -dlv 激活异常处理方法 ...
- jfinal中如何使用过滤器监控Druid监听SQL执行?
摘要:最开始我想做的是通过拦截器拦截SQL执行,但是经过测试发现,过滤器至少可以监听每一个SQL的执行与返回结果.因此,将这一次探索过程记录下来. 本文分享自华为云社区<jfinal中使用过滤器 ...
- Java获取显示器屏幕大小
public static void main(String[] args) { Dimension screensize = Toolkit.getDefaultToolkit().getScree ...
- 记一次 .NET 某新能源系统 线程疯涨 分析
一:背景 1. 讲故事 前段时间收到一个朋友的求助,说他的程序线程数疯涨,寻求如何解决. 等我分析完之后,我觉得这个问题很有代表性,所以拿出来和大家分享下,还是上老工具 WinDbg. 二: WinD ...
- 聊聊 C++ 大一统的初始化运算符 {}
一:背景 最近发现 C++ 中的类型初始化操作,没有 {} 运算符搞不定的,蛮有意思,今天我们就来逐一列一下各自的用法以及汇编展现,本来想分为 值类型 和 引用类型 两大块,但发现在 C++ 中没这种 ...