惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Vercel News
Vercel News
月光博客
月光博客
S
SegmentFault 最新的问题
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
U
Unit 42
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
B
Blog RSS Feed
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
小众软件
小众软件
WordPress大学
WordPress大学
G
Google Developers Blog
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
博客园 - 【当耐特】
I
InfoQ

博客园 - xurime

Excelize 开源十周年,发布 2.11.0 版本 Excelize 开源基础库发布 2.10.1 版本更新 Excelize 开源基础库发布 2.10.0 版本更新 Excelize 荣获 2025 上海开源创新菁英奖 Excelize 开源基础库 2.9.0 版本正式发布 Excelize 开源基础发布 2.8.1 版本,2024 年首个更新 Excelize 开源基础库入选 2023 开源创新榜「优秀开源项目 」 [Go 夜读 第 148 期] Excelize 构建 WebAssembly 版本跨语言支持实践 Excelize 开源基础库 2.8.0 版本正式发布 Excelize 荣获 2022 年中国开源创新大赛一等奖 Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库 Excelize 2.7.0 发布, 2023 年首个更新 [Go 夜读 第 139 期] Go 语言 Excelize 开源基础库介绍 Excelize 发布 2.6.1 版本,支持工作簿加密 Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库 Excelize 2.5.0 正式发布,这些新增功能值得关注 Excelize 2.4.0 正式版发布, 新增 152 项公式函数支持 Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新 Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档 Excelize 发布 2.3.0 版本, Go 语言 Excel 文档基础库
Excelize 开源基础库发布 2.9.1 版本更新
xurime · 2025-05-13 · via 博客园 - xurime

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

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

开源代码

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

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

版本说明

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

兼容性提示

  • 升级 Go 语言版本要求至 1.23 或更高版本,以升级依赖包 golang.org/x/crypto
  • DataValidationTypeDataValidationErrorStyleDataValidationOperatorPictureInsertType 的数据类型由 int 变更为 byte
  • 函数 SetCellInt 的形参类型改为 int64,解决 issue 2068
  • 添加图片、图表、形状和表单控件等绘图对象时,偏移设置将不再影响绘图对象的尺寸,解决 issue 2001

新增功能

  • Chart 数据类型中新增 GapWidthOverlap 字段
  • ChartPlotArea 数据类型中新增 ShowDataTableShowDataTableKeys 字段
  • ChartAxis 数据类型中新增 Alignment 字段
  • ChartSeries 数据类型中新增 DataLabel 字段
  • PageLayoutOptions 数据类型中新增 PageOrder 字段
  • 新增 2 项错误变量:ErrPageSetupAdjustToErrStreamSetColStyle
  • 新增 2 项枚举类型:HeaderFooterImagePositionTypeIgnoredErrorsType
  • 新增 2 项数据类型:CalcPropsOptionsHeaderFooterImageOptions
  • 新增 2 项函数 SetCalcPropsGetCalcProps 支持设置和获取工作簿计算属性
  • 新增 AddHeaderFooterImage 函数,支持在页眉和页脚中设置图片,相关 issue 1395
  • 新增 AddIgnoredErrors 函数,支持忽略特定单元格范围内的错误,相关 issue 2046
  • 新增 SetColStyle 函数,支持流式写入时设置列样式,相关 issue 2075
  • 函数 AddChartAddChartSheet 支持设置图表坐标轴文本方向和旋转角度,相关 issue 2025
  • 函数 AddChartAddChartSheet 支持设置柱状图和条形图的间隙宽度和重叠程度,相关 issue 2033
  • 函数 AddChartAddChartSheet 支持设置数据系列标签的格式,相关 issue 2052
  • 函数 AddChartAddChartSheet 支持设置位于图表绘图区域下方的数据表,相关 issue 2117
  • 函数 AddFormControl 函数支持为复选框类型的表单控件设置单元格超链接,相关 issue 2113
  • 函数 SetPageLayout 支持设置页面布局的页面顺序
  • 函数 DeletePicture 支持删除带有单一单元格锚定类型的图片,相关 issue 2059
  • 函数 SetPageLayout 增加了对选项参数的检查,如果给定的选项值无效,将返回错误提示信息
  • 支持跨多个工作表调整数据验证,相关 issue 2072
  • 支持应用带 # 号和零占位符的数字格式,相关 issue 2058
  • 支持应用带 ? 符号的数字格式
  • 支持通过指定 "oneCell" 定位类型添加带有单一单元格锚定类型的绘图对象,相关 issue 2002

问题修复

  • 修复 v2.9.0 中引入的问题,修改由流式写入生成的工作簿后,打开后提示文档损坏问题,解决 issue 2015
  • 修复部分情况下生成重复的“无填充”格式问题,解决 issue 2014
  • 修复部分情况下单元格垂直或水平边框样式丢失问题,解决 issue 2048
  • 修复部分情况下条件格式边框样式丢失的问题,解决 issue 2061
  • 修复部分情况下获取数据透视表时出现 panic 的问题,解决 issue 1954
  • 修复 GetStyle 函数无法获取 VertAlign 格式的问题
  • 修复 CalcCellValue 函数在部分情况下子表达式计算错误的问题,解决 issue 2083
  • 修复部分情况下因图片引用检查有误导致的错误删除图片问题
  • 修复流式写入时,非零行样式 ID 未覆盖默认单元格样式的问题
  • 修复流式写入时,部分情况下将在工作簿内部生成重复的 col XML 元素问题
  • 修复部分情况下设置图表标题字体时出现的 panic 问题,解决 issue 2102
  • 修复部分情况下删除公式计算链时出现的 panic 问题
  • 修复因共享公式解析错误导致的公式计算结果有误问题,解决 issue 2056
  • 修复当工作簿内部包含大于 4GB 的部件时,生成的 ZIP64 格式文档损坏问题
  • 修复当部分情况下重命名工作表时,自定义名称中的工作表名称更新有误的问题,解决 issue 2126

性能优化

  • 使用深拷贝库 github.com/tiendc/go-deepcopy 代替 github.com/mohae/deepcopy,深度拷贝速度提升 3 倍,相关 issue 2029
  • 修复 v2.9.0 中引入的问题,避免对空白单元格的值进行修剪以降低内存分配
  • 提高公式计算引擎对带有整行或整列单元格引用公式的计算速度
  • 行迭代器读取速度最高提升约 20%,内存分配降低约 10%

其他

  • Go Modules 依赖模块更新
  • 单元测试与文档更新
  • 包含阿拉伯语、德语、英语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语、俄语、简体中文和繁体中文的多国语言文档网站更新
  • 支持 WebAssembly / JavaScript 的 excelize-wasm NPM 包发布版本更新
  • 支持 Python 的 excelize PyPI 包发布版本更新

致谢

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

  • wushiling50
  • imirkin (Ilia Mirkin)
  • Juneezee (Eng Zer Jun)
  • Arpelicy
  • zhuhaicity (ZhuHaiCheng)
  • xxf0512 (xxf)
  • gypsy1234
  • mengpromax (MengZhongYuan)
  • hly-717
  • kurtinge (Kurt Inge Smådal)
  • IvanHristov98 (Ivan Hristov)
  • artur-chopikian (Artur Chopikian)
  • romanshevelev (Roman Shevelev)
  • LZCZ
  • hm3248
  • moisespsena (Moises P. Sena)
  • paolobarbolini (Paolo Barbolini)
  • timesince
  • shcabin
  • tgulacsi (Tamás Gulácsi)
  • R3dByt3 (R3dByt3)
  • Now-Shimmer

《Excelize权威指南》新书发布

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

《Excelize权威指南》不仅介绍了 Excelize 库的基本使用方法,还深入探索了高级特性和应用场景。全书共分五个篇章:入门指南、基础库设计概览、深入 Excelize、高性能流式读写技术以及实践应用。通过这本书,你将学会如何利用 Go 语言和 Excelize 库,实现 Excel 文件的自动化处理、复杂数据分析以及报表生成等任务。

你将不再受限于 Excel 的传统操作方式,而是能够通过编程的方式,解锁 Excel 新境界,创造出更加智能、高效的数据处理解决方案。

欢迎加入技术交流群

Excelize 技术交流群