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
中文文档: xuri.me/excelize/zh-hans
2023年8月28日,社区正式发布了 2.8.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,此版本中最显著的变化包括:
ErrTableNameLength
重命名为 ErrNameLength
PaneOptions
重命名为 Selection
Comment
中的 Runs
字段重命名为 Paragraph
Style
数据类型中的 Lang
字段ChartTitle
数据类型,使用 RichTextRun
类型代替DecimalPlaces
字段的数据类型为指针类型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 #1199CultureName
类型枚举GetTables
与 DeleteTable
支持获取与删除表格,相关 issue #674 和 #1454GetStyle
支持获取样式定义,相关 issue #314, #1520 和 #1521GetPanes
函数,支持获取窗格和视图选区设置AddFormControl
、GetFormControls
和 DeleteFormControl
, 相关 issues #301 和 #1169AddChart
支持添加主要水平和垂直坐标轴标题,相关 issue #1553AddChart
支持添加次坐标轴,相关 issue #518AddChart
支持设置图表富文本标题与图表标题格式,相关 issue #1588AddShape
函数添加形状时,如果给定的形状类型不受支持,将返回异常错误GetPictures
支持读取带有单一单元格锚点位置的图片,相关 issue #1585NewConditionalStyle
支持创建带有数字格式与保护属性的条件格式样式,相关 issue #1610xlsxTabColor
数据类型,使用 xlsxColor
代替 xlsxTabColor
数据类型