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 重命名为 ErrNameLengthPaneOptions 重命名为 SelectionComment 中的 Runs 字段重命名为 ParagraphStyle 数据类型中的 Lang 字段ChartTitle 数据类型,使用 RichTextRun 类型代替DecimalPlaces 字段的数据类型为指针类型AddShape 函数的签名:将 func (f *File) AddShape(sheet, cell string, opts *Shape) error 改为 func (f *File) AddShape(sheet string, opts *Shape) errorErrExistsTableName 和 ErrorFormControlValueOptions 数据类型中新增 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 数据类型 1
deorth 2023-08-28 13:09:23 +08:00 via Android 建议等到 1.21.1 了再来宣传。首次入坑用着最新的 go 发现完全用不了体验很差
|
4
tangtang369 2023-08-28 14:22:21 +08:00
这个不支持 xls 最终还是用了 github 上面很老的一个库
|
5
ggvoking 2023-08-28 14:37:11 +08:00
能否支持下 sheet 跨文件复制,和修改 sheet 顺序。😂
|
6
bv 2023-08-28 16:21:51 +08:00
@tangtang369 糖糖是你吗?
|
7
tangtang369 2023-08-28 16:29:06 +08:00
@bv 是的 看来是在一个群过
|
8
w292614191 2023-08-28 16:46:12 +08:00
相比 apache poi 有什么优势吗?
|
9
micookie 2023-08-28 21:53:39 +08:00
@tangtang369 用的哪个库?
|
10
hzzhzzdogee 2023-08-28 22:29:43 +08:00 用过, 体验不错, 支持
|
11
ninjashixuan 2023-08-28 23:31:58 +08:00
啥时候 go 也有一个同样好用的 word 库就好了,Excel 这个就够可以了。
|
12
luxurioust OP Go 1.21.1 已发布,修复了 Go 1.21.0 下 Excelize 生成文档空白或损坏的问题,有需要的朋友可以升级。
|
13
daiv 2023-09-10 22:40:53 +08:00
等待 word 也来一波,
|