`
luxurioust
  • 浏览: 6342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多

github.com/xuri/excelize

 

 

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 文档基础库。

开源代码

中文文档: 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 定义了打开工作簿时密码验证失败的错误提示信息,以便开发者可根据不同的错误类型进行采取相应处理
  • 新增导出常量 MinFontSizeMinColumns 和 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
分享到:
评论

相关推荐

    Apache Pulsar 2.6.1 版本发布前瞻

    Apache Pulsar 2.6.1 是一个重要的版本更新,它是Apache软件基金会的一个顶级项目,专注于提供下一代云原生的分布式消息流平台。Pulsar不仅是一个消息队列或消息中间件,它还集成了轻量级的函数式计算功能,采用计算...

    python官方2.6.1版本msi安装包

    Python 2.6.1是Python编程语言的一个历史版本,发布于2009年,是Python 2.x系列中的一个重要分支。这个版本在当时引入了一些新的特性和改进,同时也修复了许多已知的问题和错误。以下是对这个版本的一些关键知识点的...

    proto buf2.6.1版本 可执行文件

    在2.6.1版本中,ProtoBuf提供了强大的功能,允许开发者定义数据结构,并将这些结构转换为二进制格式进行存储或网络传输,同时也支持将这些二进制数据反序列化回原始结构。 标题中的"proto buf2.6.1版本 可执行文件...

    protobuf 2.6.1版本

    描述中提到的“包含了已经编译好的库”,意味着这个压缩包中包含了protobuf 2.6.1版本的预编译库文件,用户可以直接在支持的平台上使用,无需自行编译源代码。这大大简化了protobuf在开发环境中的部署过程,为开发者...

    unity视频播放插件 avpro video ultra edition 2.6.1版本

    unity avpro video插件 ultra edition 2.6.1版本 windows android ios macOS tvOS WebGL多平台支持。支持unity版本从2018.x - 2022.x,arm-v7a, arm64-v8a, x86 and x86-64

    带cmake支持的protobuf2.6.1源码

    标题中的“带cmake支持的protobuf2.6.1源码”指的是Google开源的Protocol Buffers(protobuf)的2.6.1版本,这个版本已经集成了CMake构建系统,使得在不同操作系统环境下,如Linux和Windows,可以方便地进行编译和...

    Apache ShenYu网关 v2.6.1.zip

    v2.6.1版本作为该项目的一个稳定版本,包含了多项改进和优化,适合用于企业级的开发和部署。 在下载的"Apache ShenYu网关 v2.6.1.zip"压缩包中,有两个主要的文件: 1. 说明.htm:这是官方提供的文档或说明文件,...

    植物大战僵尸杂交版v.2.6.1.zip

    属于 “植物大战僵尸” 系列的衍生版本,以经典的塔防游戏玩法为核心,玩家需要通过策略性地布置...版本号为 v2.6.1,这是该杂交版游戏的一个特定迭代版本,在之前版本的基础上进行了功能改进、内容更新或优化调整。

    pycrypto-2.6.1

    PyCrypto是一个广泛使用的Python加密库,版本2.6.1包含了多种强大的加密算法,使得开发者在Python环境中能够轻松实现数据的安全传输和存储。本文将深入探讨PyCrypto的核心功能、主要加密算法及其在实际中的应用。 ...

    cygwin2.6.1版本

    如果您对Linux比较熟悉,那么Cygwin可以帮助您在Windows下面使用强大的Bash,以及使用数量繁多的Linux命令,通过Scripts,可以更加高效的完成系统管理工作 [站长维护的Windows服务器上都安装有Cygwin,所有的系统...

    python官方2.6.1.amd64版本msi安装包

    这个版本在2009年发布,提供了许多功能和改进,对于那个时期的开发者来说是个重要的里程碑。以下是关于这个版本的一些关键知识点: 1. **Python 2.x系列**:Python 2.6是介于Python 2.5和2.7之间的版本,包含了一些...

    emf-runtime-2.6.1

    在2.6.1版本中,可能会有对插件机制的改进,使得开发者更容易编写和发布插件,增强EMF的可扩展性。 在实际应用中,EMF常用于生成代码、数据库映射、业务规则引擎等场景。2.6.1版本的更新可能提高了这些应用场景的...

    fckeditor2.6.1在线编辑器

    **fckeditor2.6.1在线编辑器** FCKeditor是一款功能强大的开源在线文本编辑器,主要用于...对于需要对旧系统进行维护或者研究富文本编辑器历史的开发者来说,理解FCKeditor2.6.1的工作原理和特性仍然具有重要意义。

    freetype-2.6.1.tar.gz

    FreeType 2.6.1在前一版本的基础上进行了优化,提升了性能,增加了对新字体格式的支持,同时修复了已知的错误和安全问题。 二、核心功能 1. **字体解码**:FreeType能够解析并加载各种字体文件,通过内部的解析器...

    pycrypto-2.6.1安裝包整合

    确保Python3.6或更高版本已安装,并使用`pip install`命令安装,例如:`pip install pycrypto-2.6.1-cp36-cp36m-win_amd64.whl`。 **总结** `PyCrypto-2.6.1安裝包整合`解决了Python2.7用户在安装`PyCrypto`时可能...

    NGUI Next-Gen UI 2.6.1

    2.6.1 版本作为其最新版本,带来了更多优化和改进,提高了整体性能和用户体验。 1. **组件系统**:NGUI 提供了一系列预设的 UI 组件,如按钮、文本框、图像、滚动条等,这些组件可以灵活组合,适应各种界面需求。每...

    apktool_2.6.1.jar

    apktool_2.6.1.jar

    git-2.6.1.zip

    "git-2.6.1.zip" 是一个包含Git 2.6.1版本的压缩包,这个版本发布于2015年,可能包含了一些在当时的新特性、性能优化或错误修复。 Git的核心功能包括: 1. 版本控制:Git为每个提交创建一个唯一的哈希值,这使得...

    Unity2.6.1.rar

    8. **多平台支持**:Unity 2.6.1版本虽然较旧,但仍支持多个平台发布,包括Windows、Mac、Linux,以及移动平台如iOS和Android。 9. **汉化版**:压缩包中的"Unity2.6.1_汉化版"可能包含了中文语言包,这对于中文...

    google protocal buffer 2.6.1 及实例

    2.6.1版本是其在2014年发布的一个稳定版本,广泛应用于各种项目和系统中。这个压缩包包含的是Protobuf 2.6.1的源码、编译器和Java库,以及一个教程和Windows 32位版的编译器。 1. **protobuf-2.6.1.zip源码**:这是...

Global site tag (gtag.js) - Google Analytics