Excelize 发布 2.8.0 版本,Go 语言 Excel 文档基础库
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
Gitee: gitee.com/xurime/excelize
中文文档: xuri.me/excelize/zh-hans
2023年8月28日,社区正式发布了 2.8.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要。
此版本中最显著的变化包括:
兼容性提示
- 将导出变量
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
数据类型中新增ShortDatePattern
,LongDatePattern
,LongTimePattern
和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 项表单控件函数
AddFormControl
、GetFormControls
和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%
- 包含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
binlog4j 1.3.0 发布,Java 轻量级 binlog 客户端
Binlog4j 轻量级 Mysql Binlog 客户端, 提供宕机续读, 高可用集群等特性 项目特性 集群模式, 通过集群部署的方式,保证服务高可用。 宕机续读, 避免宕机期间造成数据丢失。 数据转换, 基于泛型封装 binlog Event 的序列化数据。 兼容 传统项目 与 Spring Boot / Cloud 项目。 兼容 Spring Boot 2.x 与 Spring Boot 3.x 版本。 更新日志(1.3.0) [新增] LocalDate 类型字段兼容。[新增] LocalDateTime 类型字段兼容。[新增] BinlogEvent 类 timestamp 字段,发生时间。[新增] BinlogClient 类 registerEventHandler(IBinlogEventHandler eventHandler) 方法 下载安装 <dependency> <groupId>com.gitee.Jmysy</groupId> <artifactId>binlog4j-core</artifac...
- 下一篇
BeetlSQL 3.25.0 发布,单表多租户模式支持
修复性能加速扩展包不支持 primitive 类型数据 增强XML扩展包与SpringBoot框架集成能力 增加单表多租户模式的支持,使用sql重写功能 BeetlSQL 支持多数据源,多表这俩种租户实现模式,也支持单表实现多租户模式,单表租户模式使用SQL重写扩展包来完成。 BeetlSQL最新扩展包 BeetlSQL扩展包 功能 sql-xml 高仿myabtis的xml语法,如果有想喜欢使用xml 写sql模板的,可以使用此扩展包 sql-accelerator 性能加速包,通过反射优化,缓存,让beetlsql性能提升50%-200%,接近一半手写JDBC的性能 sql-firewall sql防火墙,避免不小心写的sql破坏数据库 sql-dynamic-table 支持像访问静态表格那样防火动态表格,简化这类需要开发 sql-bean-encrypt 支持@MD5 ,@AES 等对字段加密解密 sql-tenant 采用sql重写,支持单表多租户模式,逻辑删除,数据权限功能 使用加速扩展性能优化结果:能达到一半手写 JDBC 的性能 查询 优化前(ops/ms) 优化后 (...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7