Excelize 发布 2.1.0 版本, Go 语言 Excel 文档基础库 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
hixuri
V2EX    Go 编程语言

Excelize 发布 2.1.0 版本, Go 语言 Excel 文档基础库

  •  
  •   hixuri
    xuri 2020 年 2 月 10 日 3775 次点击
    这是一个创建于 2179 天前的主题,其中的信息可能已经有所发展或是发生改变。

    github.com/360EntSecGroup-Skylar/excelize

    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

    Release Notes

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

    新增功能

    问题修复

    • 修复单元格值的末尾空白字符丢失问题
    • 函数 MergeCell 支持重叠合并单元格处理,解决 issue #533
    • 修复某些情况下空内联富文本丢失的问题,解决 issue #529
    • 修复对空工作簿视图的处理,解决 issue #426
    • 增加对公式中存在的转义字符处理,解决 issue #546

    性能表现

    • 新增 NewStreamWriterFlush 方法,适用于生成包含大规模数据的工作表。与非流式写入相比,可降低 90.2% 的内存开销、节省 53% 时间
    • 函数 GetRows 内存采用流式数据读取,读取电子表格文档内存开销降低 87.9%,相关 issue #146issue #382
    • 兼容性提升,新增 49 个文档内部 XML 命名空间支持

    其他

    • 对于解析 XML 过程出现的异常将使用日志记录,相关 issue #539
    • 提高单元测试覆盖度(行覆盖度:97.04%)
    • 完善单元测试中的错误处理
    • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
    • 技术交流群

    DingTalk Group ID: 30047129 QQ Group ID: 207895940

    Excel 技术交流群
    8 条回复    2020-02-11 15:47:52 +08:00
    kiwier
        1
    kiwier  
       2020 年 2 月 10 日
    顶一下,有机会试试大批量性能提升
    bringyou
        2
    bringyou  
       2020 年 2 月 10 日
    之前用过,感谢大佬的开发
    soseek
        3
    soseek  
       2020 年 2 月 11 日 via Android
    支持插入图片? 能不能插入 pdf 之类?
    hixuri
        4
    hixuri  
    OP
       2020 年 2 月 11 日
    darylc
        5
    darylc  
       2020 年 2 月 11 日 via Android
    赞,之前用过
    runningman
        6
    runningman  
       2020 年 2 月 11 日 via Android
    对于大型的 excelw 不知道咋样 比如 40 万条
    hixuri
        7
    hixuri  
    OP
       2020 年 2 月 11 日
    @runningman 流式写入 400000 行 x 50 列 数据大约耗时 46s,内存占用 995MB,生成的 Excel 文件 130 MB
    runningman
        8
    runningman  
       2020 年 2 月 11 日 via Android
    @luxurioust 不会内存溢出就很好了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3263 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 11:43 PVG 19:43 LAX 03:43 JFK 06:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86