Excelize 是 Go 语言编写的用于操作 Office Excel 文档类库,基于 ECMA-376 Office Open XML 标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中。入选 2018 开源中国码云 Gitee 最有价值开源项目 GVP,目前已成为 Go 语言最受欢迎的 Excel 文档基础库。
GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
中文文档: xuri.me/excelize/zh-hans
2020 年 2 月 10 日,社区正式发布了 2.1.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 changelog。
此版本中最显著的变化包括:
DeleteDefinedName
方法,支持从工作簿或工作表中删除名称SetPageMargins
和 GetPageMargins
方法,支持获取和设置页面边距DeleteChart
和 DeletePicture
方法,支持从工作表中删除图表和图片AddChart
现已支持创建子母饼图、复合条饼图和组合图AddChart
新增设置图表主要网格线支持,相关 issue #501AddChart
支持设置折线图线条宽度,相关 issue #505AddChart
现已支持指定图表坐标轴标签间隔单位,相关 issue #538SetColVisible
支持对指定范围内的多列进行可见行设置AddPivotTable
支持创建数据透视表时,所引用数据源区域存在空列,相关 issue #511MergeCell
支持重叠合并单元格处理,解决 issue #533NewStreamWriter
和 Flush
方法,适用于生成包含大规模数据的工作表。与非流式写入相比,可降低 90.2% 的内存开销、节省 53% 时间GetRows
内存采用流式数据读取,读取电子表格文档内存开销降低 87.9%,相关 issue #146 和 issue #382 1
kiwier 2020-02-10 07:51:02 +08:00
顶一下,有机会试试大批量性能提升
|
2
bringyou 2020-02-10 15:20:28 +08:00
之前用过,感谢大佬的开发
|
3
soseek 2020-02-11 00:50:30 +08:00 via Android
支持插入图片? 能不能插入 pdf 之类?
|
4
luxurioust OP |
5
susecjh 2020-02-11 09:59:44 +08:00 via Android
赞,之前用过
|
6
runningman 2020-02-11 11:12:22 +08:00 via Android
对于大型的 excelw 不知道咋样 比如 40 万条
|
7
luxurioust OP @runningman 流式写入 400000 行 x 50 列 数据大约耗时 46s,内存占用 995MB,生成的 Excel 文件 130 MB
|
8
runningman 2020-02-11 15:47:52 +08:00 via Android
@luxurioust 不会内存溢出就很好了
|