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

Excelize 开源基础库 2.8.0 版本正式发布

阅读更多

Excelize 开源基础库 2.8.0 版本正式发布

Excelize 是 Go 语言编写的用于操作电子表格办公文档的开源基础库,基于 ISO/IEC 29500、ECMA-376 国际标准。可以使用它来读取、写入由 Microsoft Excel、WPS、Apache OpenOffice、LibreOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。自 2016 年开源以来已成为云原生应用尤其是 Go 语言开发者在处理电子表格办公文档时的热门选择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。荣获 2022 年中国开源创新大赛一等奖、入选 2020 Gopher China - Go 领域明星开源项目 (GSP)、2018 年开源中国码云最有价值开源项目 GVP (Gitee Most Valuable Project)。

开源代码

GitHub: github.com/xuri/excelize

 

 

2023年8月28日,社区正式发布了 2.8.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 changelog

此版本中最显著的变化包括:

兼容性提示

  • 将导出变量 ErrTableNameLength 重命名为 ErrNameLength
  • 将导出类型 PaneOptions 重命名为 Selection
  • 将导出类型 Comment 中的 Runs 字段重命名为 Paragraph
  • 移除了 Style 数据类型中的 Lang 字段
  • 移除了 ChartTitle 数据类型,使用 RichTextRun 类型代替
  • 更改 DecimalPlaces 字段的数据类型为指针类型
  • 修改了默认点与像素单位转换系数,相关 issue #279 和 #1536
  • 修改了 AddShape 函数的签名:将 func (f *File) AddShape(sheet, cell string, opts *Shape) error 改为 func (f *File) AddShape(sheet string, opts *Shape) error

新增功能

  • 新增导出错误变量 ErrExistsTableName 和 ErrorFormControlValue
  • Options 数据类型中新增 ShortDatePatternLongDatePatternLongTimePattern 和 CultureInfo 选项,支持设置长短日期与时间格式代码,相关 issue #1199
  • 新增用于表示区域代码的 CultureName 类型枚举
  • 新增函数 GetTables 与 DeleteTable 支持获取与删除表格,相关 issue #674 和 #1454
  • 新增函数 GetStyle 支持获取样式定义,相关 issue #314, #1520 和 #1521
  • 支持为单元格的值应用带有占位、对齐、舍入、货币、会计专用和转换选项的数字格式,并支持带有 812 种语言(位置)时间和日期类型的数字格式,相关 issue #660
  • 新增 10 项公式函数: ARRAYTOTEXT, FORECAST, FORECAST.LINEAR, FREQUENCY, INTERCEPT, ODDFYIELD, ODDLPRICE, ODDLYIELD, PROB 和 VALUETOTEXT
  • 增加对工作簿保存路径的检查,若路径长度超出限制将返回错误提示
  • 新增 GetPanes 函数,支持获取窗格和视图选区设置
  • 新增 3 项表单控件函数 AddFormControlGetFormControls 和 DeleteFormControl, 支持添加主要水平和垂直坐标轴标题,相关 issues #301 和 #1169
  • 添加图表函数 AddChart 支持添加主要水平和垂直坐标轴标题,相关 issue #1553
  • 添加图表函数 AddChart 支持添加次坐标轴,相关 issue #518
  • 添加图表函数 AddChart 支持设置图表富文本标题与图表标题格式,相关 issue #1588
  • 通过 AddShape 函数添加形状时,如果给定的形状类型不受支持,将返回异常错误
  • 支持读取带有日本年号数字格式的单元格,相关 issue #1590
  • 函数 GetPictures 支持读取带有单一单元格锚点位置的图片,相关 issue #1585
  • 函数 NewConditionalStyle 支持创建带有数字格式与保护属性的条件格式样式,相关 issue #1610

兼容性提升

  • 添加对带多字节文本的单元格字符长度检查,相关 issue #1517
  • 当创建带有重复名称的表格或自定义名称时,将返回错误异常
  • 提高单元格批注文本框大小显示效果在 KingSoft WPS 下的兼容性
  • 支持从自定义工作表属性设置中读取列宽度,相关 issue #1536
  • 修改内部工作表 XML 部件名称为大小写不敏感以提高兼容性,相关 issue #1591

问题修复

  • 修复因计算带有转义 XML 单元格的长度有误导致的,部分情况流式生成工作簿损坏问题,解决 issue #1518, #1519 和 #1530
  • 修复带有多行文本的单元格批注文本框大小异常问题
  • 修复了部分情况下,读取带有数字格式的文本单元格时,读取结果有误的问题,解决 issue #1523, #1528 和 #1533
  • 修复了并发安全函数中存在的竞态问题
  • 修复了部分情况下,对与单元格时间毫秒舍入精度结果有误的问题
  • 修复了部分情况下,读取带有 12 小时制数字格式的单元格时,时间结果有误的问题
  • 修复了部分情况下,计算带有 SUMIFS 和 AVERAGEIFS 函数的公式结果有误的问题,解决 issue #1564
  • 修复了公式计算引擎中基本算数运算符优先级问题导致的计算结果有误问题,解决 issue #1599
  • 修复部分情况下,带有跨工作表单元格引用公式计算结果有误的问题
  • 修复部分情况下,删除行后,工作表中的表格调整结果异常的问题,解决 issue #1539
  • 支持读取单元格中的多张图片,解决 issue #1548
  • 修复部分情况下,因读取图形对象位置有误导致的添加图片结果异常问题,解决 issue #1560
  • 删除行列时支持调整公式,修复部分情况下导致的文档损坏问题,解决 issue #1565
  • 修复了部分情况下,计算带有 CONCAT 和 CONCATENATE 函数的公式结果有误的问题,解决 issue #1569
  • 修复部分情况下,带有嵌套数字类型参数公式的计算结果有误问题,解决 issue #1582
  • 修复因内部图形对象计数器有误导致的部分情况下添加图片出现重复的问题,解决 issue #1584
  • 修复因部分情况下读取带有时间类型数字格式的单元格时,小时有误的问题,解决 issue #1587
  • 修复了部分情况下,获取合并单元格区域右下角单元格坐标时出现的 panic

性能优化

  • 优化内部正字表达式的执行速度,相关 issue #1532
  • 避免内部字节数组与字符串数据类型变量之间的转换,相关 issue #1541

其他

  • Go Modules 依赖模块更新
  • 简化了内部变量的声明与错误返回语句
  • 移除了内部带有 Unicode 编码的预设语言数字格式映射表
  • 移除了内部 xlsxTabColor 数据类型,使用 xlsxColor 代替 xlsxTabColor 数据类型
  • 单元测试与文档更新,单元测试行覆盖度提升 0.24%,达到 98.91%
  • 包含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新
0
0
分享到:
评论

相关推荐

    hadoop-2.8.0 版本的eclipse插件

    hadoop-2.8.0 版本的eclipse插件

    expo clinet 2.8.0版本apk安装包,亲测可用

    Expo客户端是React Native开发框架Expo的核心组成部分,它允许开发者在无需构建原生应用的情况下,通过一个统一的平台进行...在下载并安装这个apk前,建议查看官方发布的更新日志,以了解新版本的具体改进和注意事项。

    编译好的 tensorflow2.8.0 c++接口库,支持gpu

    标题中的“编译好的tensorflow2.8.0 c++接口库,支持gpu”指的是这个压缩包包含了一个已经预编译的TensorFlow版本2.8.0,它为C++编程语言提供了接口,并且优化了对GPU硬件的支持。这意味着开发者可以使用C++编写代码...

    WeChat_C1012-V2.8.0版本.exe

    WeChat_C1012-V2.8.0版本.exe

    tensorflow_gpu2.8.0py版本3.8whl.rar

    python383 tensorflow 2.8.0 cpu版本 去除后缀名.rar pip install tensorflow-2.8.0-cp38-cp38-win_amd64.whl 就可以;额

    谷歌 Gson2.8.0 依赖包、文档和源码

    谷歌Gson库是Java开发中广泛使用的JSON解析和序列化工具,版本2.8.0是其一个稳定且功能丰富的版本。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...

    hadoop2.8.0 eclipse jb51

    在IT行业中,Hadoop和Eclipse是两个非常重要的开源项目,它们在大数据处理和开发领域发挥着关键作用。Hadoop是Apache基金会维护的一个分布式计算框架,而Eclipse是一款广泛使用的集成开发环境(IDE)。当我们结合这...

    已测试,WordPress主题Kratos 2.8.0版本, Kratos简约响应式个人博客主题模板.zip

    【WordPress主题Kratos 2.8.0版本详解】 WordPress是一个全球广泛使用的开源内容管理系统,以其易用性和灵活性而闻名。Kratos主题是为WordPress设计的一款简约、响应式的个人博客主题,旨在为用户提供一个优雅且...

    snort-2.8.0.tar.gz

    2.8.0版本是Snort的一个历史版本,它包含了该软件在2004年左右的源代码。这个`.tar.gz`文件是一种常见的Linux/Unix平台下的归档压缩格式,由`targz`命令创建,用于整合多个文件并进行压缩,方便存储和传输。 在这个...

    阿里云0SS的android-sdk,2.8.0版本

    在这个2.8.0版本的SDK中,包含了丰富的资源,如源代码、示例代码以及STS(Security Token Service)配置的Python代码,为开发者提供了全面的开发支持。 首先,我们来了解一下阿里云OSS Android SDK的核心功能: 1....

    hadoop-2.8.0-src .tar.gz

    `hadoop-2.8.0-src .tar.gz` 是Hadoop 2.8.0版本的源代码压缩包,提供了完整的源代码,使得开发者可以深入理解Hadoop的工作原理,并进行定制化开发。 在Hadoop 2.8.0版本中,主要包含以下几个关键组件: 1. **HDFS...

    优雅草蜻蜓Q短视频直播社交系统软件v2.8.0版本完整版

    优雅草蜻蜓Q短视频直播社交系统软件v2.8.0版本完整版,蜻蜓Queen系列产品延续蜻蜓s系统以短视频社交为主,蜻蜓Q系统引入粉丝群,粉丝团功能开启加强用户粘性,社交图文打赏,任务,观影卷等模式,开放作者加v认证...

    freeglut-2.8.0 源码

    Freeglut 2.8.0是该库的一个特定版本,包含了对Linux和Windows等不同操作系统的支持。 **1. Freeglut的特性** - **跨平台兼容性**:Freeglut可以在多个操作系统上运行,包括Linux、Windows以及Mac OS X,这使得...

    hadoop-2.8.0-RC3

    hadoop-2.8.0-RC3 的winutils bin文件。 hadoop-2.8.0-RC3 的winutils bin文件。 hadoop-2.8.0-RC3 的winutils bin文件。

    gson-2.8.0(包括sources和javadoc)

    在本压缩包中,包含了gson-2.8.0版本的三个重要组成部分:gson-2.8.0.jar、gson-2.8.0-sources.jar以及gson-2.8.0-javadoc.jar,这些资源对于学习和使用Gson库至关重要。 1. **gson-2.8.0.jar**:这是Gson的核心库...

    java中redis的jar包jedis-2.8.0.jar

    Java中的Redis客户端库Jedis是连接Redis服务器的一个广泛使用的开源库。Jedis 2.8.0是这个库的一个特定版本,它包含了丰富的API来执行各种Redis操作,如数据存储、检索、删除以及数据结构操作等。这个jar包是Java...

    qt-creator-2.8.0-rc-src.tar.gz

    Qt Creator 2.8.0 RC 版本的源代码意味着它是发布前的最后一个测试版本,通常比正式版更稳定,但可能还存在一些小问题。开发者可以通过编译源代码来获取最新特性和修复,同时也能根据自己的需求进行定制化修改。 ...

    NBTExplorer-2.8.0_NBTreader_

    5. **兼容性与稳定性**:NBTExplorer-2.8.0版本保证了对不同Minecraft版本的兼容性,无论游戏如何更新,都能处理新版本的NBT文件。同时,它的稳定性和性能也经过了时间的考验,减少了数据损坏的风险。 6. **教学与...

    jedis-2.8.0.jar 下载

    在 2016 年发布的 Jedis 2.8.0 版本,是当时最新的稳定版本,包含了多项改进和优化,以满足开发者的需求。 **Redis 简介** Redis 是一个开源的内存数据结构存储系统,可以用作数据库、缓存和消息中间件。它支持...

    Jackson2.8.0.jar

    标题中的"Jackson2.8.0.jar"指的是Jackson库的2.8.0版本的集合包,包含了项目开发中所需的几个核心组件。 在描述中提到,这个集合包包含三个重要的jar文件: 1. `jackson-annotations-2.8.0.jar`:这是Jackson的...

Global site tag (gtag.js) - Google Analytics