Excelize 开源基础发布 2.8.1 版本,2024 年首个更新

简介: Excelize 是 Go 语言编写的用于操作电子表格办公文档的开源基础库,2024年2月26日,社区正式发布了 2.8.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。

Excelize 开源基础库 2.8.1 版本发布, 2024 年首个更新

Excelize 是 Go 语言编写的用于操作电子表格办公文档的开源基础库,基于 ISO/IEC 29500、ECMA-376 国际标准。可以使用它来读取、写入由 Microsoft Excel、WPS、Apache OpenOffice、LibreOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。

开源代码

GitHub: github.com/xuri/excelize

文档网站: xuri.me/excelize

2024年2月26日,社区正式发布了 2.8.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,此版本中最显著的变化包括:

兼容性提示

  • 升级至该版本需要您使用的 Go 语言为 1.18 或更高版本,以升级依赖库 golang.org/x/net
  • 将数据类型 HeaderFooterOptions 中的字段 AlignWithMargins 和 ScaleWithDoc 修改为指针类型
  • 移除了未使用的导出类型 ShapeColor

新增功能

  • 新增函数 SetCellUint 支持设置无符号整型数
  • 新增函数 GetPictureCells 支持获取图片单元格坐标
  • 新增函数 GetConditionalStyle 支持获取条件格式样式定义
  • 新增函数 GetHeaderFooter 支持获取工作表页眉页脚控制字符设置
  • 新增函数 AddSlicer 支持为表格和数据透视表添加切片器
  • 新增函数 GetPivotTables 支持获取数据透视表
  • 新增函数 DeletePivotTable 支持删除数据透视表
  • 数据类型 PivotTableOptions 中添加了新的字段 Name 以支持创建数据透视表时指定自定义数据透视表名称
  • 新增 7 项公式函数:DBCS、SEARCH、SEARCHB、TEXT、TEXTAFTER、TEXTBEFORE 和 xlfn.ANCHORARRAY
  • 新增 ChartLineType 枚举类型,以支持设置图表区域边框线型
  • 数据类型 Chart 中添加了新的字段 Border 以支持设置图表区域边框类型
  • 数据类型 ChartLine 中添加了新的字段 Type 以支持设置图表线型
  • 新增文档对象关系部件名称与命名空间变量 NameSpaceSpreadSheetXR10、ContentTypeSlicer、ContentTypeSlicerCache 和 SourceRelationshipSlicer
  • 新增扩展资源标识常量 ExtURIPivotCacheDefinition
  • 允许在自定义名称、表格名称和数据透视表名称中使用点字符
  • 删除工作表中的表格时,将保留表格区域全部单元格的值
  • 支持读取带有分数数字格式的单元格
  • 删除图片时,如果图片仅有一处引用,将同时从工作簿内部删除对应的图片文件,以减少生成工作簿的体积并消除由此产生的潜在安全风险
  • 支持为批注框设置自定义宽度和高度
  • 插入或删除行列时,支持更新条件格式、数据验证、自定义名称、图形对象、单元格公式、易失性函数中的单元格坐标引用
  • 新增 6 项新增条件格式类型:“特定文本”、“空值”、“无空值”、“错误”、“无错误”和“发生日期”
  • 公式计算引擎支持计算带有多重负号的单元格公式
  • 复制行时支持复制条件格式与数据验证
  • 设置行高度函数 SetRowHeight 支持通过指定行高度为 -1 移除自定义行高度设置
  • 当给定的行高度无效时,函数 SetRowHeight 将返回错误提示信息
  • 添加图表函数 AddChart 支持设置图表中的数据标签位置
  • 添加图表函数 AddChart 支持设置图表区域、绘图区域和数据标记的填充色和透明填充,在 Chart、ChartPlotArea 和 ChartMarker 数据类型中添加了 Fill 选项
  • 添加图表函数 AddChart 支持设置图表坐标轴文字字体、字号和删除线格式
  • 数据类型 ChartSeries 中新增了 DataLabelPosition 字段,用于指定图表中各数据系列数据标签的位置
  • 数据类型 Chart 中新增了 BubbleSize 字段,用于设置气泡图和三维气泡图的气泡大小
  • 新增导出数据类型 ChartDataLabelPositionType
  • 获取图片单元格函数 GetPictureCells 和获取图片函数 GetPictures 支持读取由 Kingsoft WPS™ Office 创建的嵌入单元格图片
  • 设置条件格式函数 SetConditionalFormat 支持批量为多个单元格区域设置条件格式
  • 重命名工作表时支持更新自定义名称
  • 新增 GetBaseColor 函数,支持读取首选十六进制颜色代码
  • 公式计算引擎支持读取日期类型单元格的值
  • 单元格值读取函数支持继承使用 OpenReader 函数打开文档时所指定的 Options 选项设置

兼容性提升

  • 提升了对内部带有绝对路径绘图部件工作簿的兼容性
  • 提升了对内部带有浮点型 tabRatio 属性值工作簿部件的兼容性
  • 提升了读取带有空的自定义数字格式单元格的兼容性
  • 提升了与不支持默认主题部件命名空间电子表格预览程序的兼容性
  • 提升了单元格批注形状与 KingSoft WPS™ Office 的兼容性
  • 保存工作簿时对内部部件进行排序,以确保在不改变工作簿内容时生成的文件具有一致的哈希值

问题修复

  • 添加对公式函数 MID 和 MIDB 中 num_chars 参数的检查,以防止出现负数导致的 panic
  • 修复部分情况下,公式函数 LEN、LOWER、PROPER、REPT、UPPER 和 IF 的计算结果为空的问题
  • 修复部分情况下,计算公式函数 CHITEST 和 MMULT 时出现 panic 的问题
  • 修复 v2.8.0 中引入的问题,通过创建特殊自定义名称的方式设置打印区域和打印标题时不再返回错误
  • 修复 v2.8.0 中引入的问题,修复了由于内部样式部件中索引颜色和 MRU 颜色缺省值处理有误导致的生成工作簿损坏问题
  • 修复 v2.8.0 中引入的问题,修复了特定情况下读取带有数字格式的单元格结果为空的问题
  • 修复 v2.7.1 中引入的问题,修复了气泡图和三维气泡图中不显示气泡的问题
  • 修复因内部工作表 ID 处理有误导致的特定情况下通过 AutoFilter 函数添加自动过滤器时出现的 panic
  • 修复部分情况下在工作表中添加表格导致的工作表损坏问题
  • 修复部分情况下读取带有时间类型数字格式单元格的值有误的问题
  • 支持计算字符型公式单元格的值
  • 修复在带有单元格表格的工作簿中添加表格时,表格 ID 生成有误的问题
  • 修复部分情况下工作簿内容关系部件丢失的问题
  • 升级数字格式表达式解析器,以修复对于带有自定义文本的数字格式表达式格式化结果有误问题
  • 更新了简体中文和繁体中文语言的预设数字格式列表
  • 修复了部分情况下,自定义数字格式索引生成有误的问题
  • 修复通过删除后再添加表格方式更新表格区域范围时出现错误的问题
  • 修复在使用流式读取函数后,所产生的临时文件无法被清理的潜在问题
  • 修复部分情况下公式计算结果有误的问题
  • 修复并发读取单元格的值时出现的竞态问题
  • 修复根据样式索引获取样式定义时,部分样式定义缺失问题
  • 修复部分情况下读取带有科学记数法数字格式单元格的值结果有误的问题
  • 修复部分情况下,读取带有工作表中不含 r 属性的行元素导致的 panic 问题
  • 修复获取富文本单元格函数 GetCellRichText 在获取内联富文本时返回错误的问题
  • 修复部分情况下,由于共享字符串表索引计算有误导致的设置单元格的值结果有误问题
  • 修复函数 GetConditionalFormats 读取带有“高于平均值”条件格式规则时 panic 的问题
  • 修复了删除行之后合并单元格有误的问题
  • 修复了 SetConditionalFormat 函数在创建带有多规则条件格式时,规则优先级有误的问题
  • 修复了 GetConditionalFormats 函数无法读取带有渐变填充格式数据条的问题
  • 修复了获取样式函数 GetStyle 或获取条件格式样式函数 GetConditionalStyle 所返回的小数位数 DecimalPlaces 字段值有误问题
  • 修复了使用 CalcCellValue 函数时,开启 RawCellValue 选项失效的问题

性能优化

  • 提高了添加与删除数据透视表和图片的性能
  • 降低了修剪单元格时的内存占用

其他

  • Go Modules 依赖模块更新
  • 单元测试与文档更新
  • 包含简体中文、繁体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新,新增葡萄牙语版本文档
目录
相关文章
|
人工智能 文字识别 达摩院
阿里云文字识别(OCR)服务 Quick Start
阿里云文字识别(Optical Character Recognition,OCR)可以将图片中的文字信息转换为可编辑文本,是一款由阿里巴巴达摩院权威AI团队打造的全栈全场景OCR文本识别类产品。根据客户的业务场景和需求,将产品分为了通用文字识别、个人证照识别、票据凭证识别、教育场景识别、车辆物流识别、企业资质识别、小语种文字识别等,满足各种客户的图片识别需求。 由于阿里云视觉智能开放平台和云市场这两个渠道下也具备阿里文字识别服务,一些不熟悉的客户很容易将三者搞混淆,这边简单做下对比。然后再针对个人证照识别下常见的服务-身份证识别功能简单介绍下产品的开通及使用。
8821 0
阿里云文字识别(OCR)服务 Quick Start
|
5月前
|
人工智能 分布式计算 开发者
Gemini 3.5 砍半定价、4倍提速强势入场,Claude Opus 4.7 还守得住编程王座吗?
JeecgBoot AI专题研究 Google I/O 2026 的 Gemini 3.5 发布,与 Claude Opus 4.7 正面对照——看清智能体时代的胜负手![Gemini 3.5 对决 Claude Opus 4.7](https://oscimg.oschina.net/osc
391 0
|
8月前
|
安全 Linux API
免费Token用出付费效果:OpenClaw全平台部署(阿里云/Win11/Mac/Linux)+6大省钱技能合集(Token省95%)+FAQ
“Token消耗太快”“免费额度几天就用完”“明明没做多少事,账单却超预期”——这是很多OpenClaw(昵称“小龙虾”)用户的共同困扰。作为开源AI代理框架,OpenClaw的核心功能依赖大模型API驱动,而Token消耗直接与使用成本挂钩:暴力读取全文件、网页搜索返回冗余HTML、对话记忆无限制膨胀等行为,都会导致Token快速耗尽,让免费额度“捉襟见肘”。
3917 3
|
人工智能 自然语言处理 IDE
6 款 AI 工具,助力写出更优质代码
6 款 AI 工具,助力写出更优质代码
3443 3
6 款 AI 工具,助力写出更优质代码
|
7月前
|
移动开发 缓存 小程序
游戏代练护航平台搭建一体化解决方案
基于ThinkPHP6+Uni-app打造的全场景游戏服务平台,支持代练、陪玩、护航一站式运营。五端同步(小程序/H5/APP/PC/公众号),10分钟极速部署。
996 0
|
11月前
|
消息中间件 存储 监控
实时数据有哪些特点?企业该如何管理好实时数据?
企业正从“事后看”转向“实时看”数据,实时数据要求秒级甚至毫秒级响应,具备持续流入、价值衰减快、流量突增等特点。管理好它需构建四大能力:流式处理架构、全链路监控、分层服务与业务闭环。建议从痛点场景试点,逐步打造可复用的实时数据体系。
|
开发工具 Android开发
rk平台Android12屏幕永不休眠
rk平台Android12屏幕永不休眠
817 1
|
SQL 关系型数据库 MySQL
使用mysql数据库的binlog应对故障
【6月更文挑战第1天】本文介绍`mysql的 binlog`工具用于解析MySQL的二进制日志,转换为可执行的SQL语句,主要用于数据库主从复制和增量恢复。定期备份和binlog推送能实现故障时的数据恢复。
808 9
使用mysql数据库的binlog应对故障
|
存储 Kubernetes 监控
Linux eBPF解析
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范围最广的 K8S CNI 网络方案 Calico 已宣布支持 eBPF,而作为第一个实现了Kube-Proxy 所有功能的 K8S 网络方案——Cilium 也是基于 eBPF 技术。因此,只有了解其底层机制,才能有助于更好、更易地融入容器生态中。
1024 0
|
XML 存储 边缘计算
Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,2023年4月10日,社区正式发布了 2.7.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。
409 4
Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库

热门文章

最新文章