首页 > 其他分享 >Excelize 开源基础库 2.8.0 版本正式发布

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

时间:2023-08-28 10:59:18浏览次数:45  
标签:修复 Excelize 单元格 开源 2.8 有误 带有 issue 函数

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

Gitee: gitee.com/xurime/excelize

中文文档: xuri.me/excelize/zh-hans

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

新增功能

  • 新增导出错误变量 ErrExistsTableNameErrorFormControlValue
  • Options 数据类型中新增 ShortDatePattern, LongDatePattern, LongTimePatternCultureInfo 选项,支持设置长短日期与时间格式代码,相关 issue #1199
  • 新增用于表示区域代码的 CultureName 类型枚举
  • 新增函数 GetTablesDeleteTable 支持获取与删除表格,相关 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 项表单控件函数 AddFormControlGetFormControlsDeleteFormControl, 支持添加主要水平和垂直坐标轴标题,相关 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%
  • 包含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新

致谢

感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:

  • IAkumaI (Valery Ozarnichuk)
  • sillydong (Chen Zhidong)
  • fudali113 (fudali)
  • Juneezee (Eng Zer Jun)
  • joehan109
  • yicixin (壹次心)
  • vb6iscool
  • chengcxy (chengxinyao)
  • lidp20
  • JDavidVR (David)
  • fsfsx
  • cnmlgbgithub

欢迎加入技术交流群 DingTalk Group ID: 30047129 QQ Group ID: 1302058237

Excelize 技术交流群

标签:修复,Excelize,单元格,开源,2.8,有误,带有,issue,函数
From: https://www.cnblogs.com/xuri/p/excelize_v2_8_0.html

相关文章

  • 新SDK下载开源全志V853的SDK
    获取SDKSDK使用Repo工具管理,拉取SDK需要配置安装Repo工具。RepoisatoolbuiltontopofGit.RepohelpsmanagemanyGitrepositories,doestheuploadstorevisioncontrolsystems,andautomatespartsofthedevelopmentworkflow.Repoisnotmeanttore......
  • 5个前端开源项目带你在Web上体验Windows
    本文来分享五个yyds的开源项目,这些项目把Windows带到了Web平台上。让我们一起感受这些项目带来的回忆和创新,重温Windows93、98、XP和7的经典界面,甚至探索现代概念中的Windows11和12!Windows12使用JavaScript、CSS、HTML等技术开发的网页版Windows12,且支持深......
  • 开源的在线原型设计工具?牛啊
    哈喽,大家好,我是指北君。有一位朋友,他现在在一家创业小公司,只有3个研发+1位产品经理组成的一个小团队。最近要开发一个新项目,老板在会上噼里啪啦地讲该项目的各种使用场景,其实也就是需求。会后产品经理需要重新整理会上的这些需求,一来要向老板和客户表示自己了解他们的要求,另一方面......
  • 开源.NetCore通用工具库Xmtool使用连载 - XML操作篇
    【Github源码】《上一篇》介绍了Xmtool工具库中的发送短信类库,今天我们继续为大家介绍其中的XML操作类库。XML操作是软件开发过程中经常会遇到的情况;包括XML内容的遍历解析,或者特定值内容的查询获取等等。Xmtool工具库提供了一种更方便的方式对Xml进行遍历解析或者对特定节点内......
  • 开源项目分享,实习宝典传授,直播课程报名开启!
    你是否需要AI初学者入门级的开源教程?你是否期待和顶尖开发者一起学习,向深度学习领域的大佬看齐?你是否希望通过课程讲解,了解项目实践,掌握深度学习、大模型相关的前沿AI技术?如果你的答案是肯定的,那么「MegEngine开发者说」系列课程正是你想要的!「MegEngine开发者说」是由......
  • 免费开源在线教育系统源码下载 -中小教育机构如何低成本搭建网校平台?
    在当下,线上教育已经不再是一个陌生的领域,它为学校和培训机构带来了无限的可能性。然而,搭建一个完整的在线课堂平台往往需要巨额投入,对于预算有限的中小教育机构而言,如何在低成本的情况下实现在线教育的搭建呢?本文将为您探讨几种低成本搭建网校平台的方法。 首先,一种常见的方法......
  • 网校系统源码_开源网校系统源码_网校数字化转型:以变革应对挑战,迎接未来教育
    兔知云课堂客服中心的小军,为大家带来了一段关于网校服务中的真实案例,为正在面临教育领域变革的校长们提供了实用的经验分享。这个案例涉及到了一位培训机构的校长,他的困惑与思考引发了我们对于教育行业数字化转型的思考。 疫情爆发后,全国范围内的线下教育面临巨大挑战,而这位校......
  • 免费开源网校系统源代码轻松搭建在线教育平台_兔知云课堂教育系统:数字化教育平台快速
    在如今快节奏的时代,越来越多的教育机构和个人教师开始寻求一种高效的方式来搭建网络教育平台,以满足学习者的需求。在这个背景下,兔知云课堂教育系统成为了一款备受瞩目的解决方案,为教育者们提供了快速搭建平台的新途径。 想要开始快速搭建网络教育平台吗?不妨考虑兔知云课堂教育......
  • 中山大学开源Diffusion模型统一代码框架,推动AIGC规模化应用
    前言 近年来,基于扩散模型(DiffusionModels)的图像生成模型层出不穷,展现出令人惊艳的生成效果。然而,现有相关研究模型代码框架存在过度碎片化的问题,缺乏统一的框架体系,导致出现「迁移难」、「门槛高」、「质量差」的代码实现难题。为此,中山大学人机物智能融合实验室(HCPLab)构建了H......
  • 开源知识付费系统源码:顶层设计与底层逻辑的舞台
    在这个信息爆炸的时代,知识的传递和获取变得越来越便利,而知识付费成为了一种越来越受欢迎的方式。然而,要在知识付费领域取得成功,并不仅仅是提供内容,还需要考虑到底层逻辑和顶层设计。正如一个简洁的表述所示:“底层逻辑有问题,顶层设计有问题。” 在这个振奋人心的时代,兔知云课堂......