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

xuri · · 1239 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

<p align="center"><img src="https://xuri.me/excelize/images/excelize.svg" width="440" alt="github.com/360EntSecGroup-Skylar/excelize" /></p> [Excelize](https://github.com/xuri/excelize) 是 Go 语言编写的用于操作 Office Excel 文档类库,基于 ECMA-376 Office Open XML 标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中。入选 2018 开源中国码云 [Gitee 最有价值开源项目 GVP](https://gitee.com/xurime/excelize),目前已成为 Go 语言最受欢迎的 Excel 文档基础库。 #### 开源代码 **GitHub:** [github.com/xuri/excelize](https://github.com/xuri/excelize) **中文文档:** [xuri.me/excelize/zh-hans](https://xuri.me/excelize/zh-hans/) 2020年2月10日,社区正式发布了 2.1.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 [changelog](https://github.com/xuri/excelize/compare/v2.0.2...v2.1.0)。 Release Notes ------------ 此版本中最显著的变化包括: #### 新增功能 * 新增 [`DeleteDefinedName`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.DeleteDefinedName) 方法,支持从工作簿或工作表中删除名称 * 新增 [`SetPageMargins`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.SetPageMargins) 和 [`GetPageMargins`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.GetPageMargins) 方法,支持获取和设置页面边距 * 新增 [`DeleteChart`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.DeleteChart) 和 [`DeletePicture`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.DeletePicture) 方法,支持从工作表中删除图表和图片 * 增加对非 UTF-8 编码 Excel 文档的支持 * 函数 [`AddChart`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.AddChart) 现已支持创建子母饼图、复合条饼图和组合图 * 函数 [`AddChart`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.AddChart) 新增设置图表主要网格线支持,相关 [issue #501](https://github.com/xuri/excelize/issues/501) * 函数 [`AddChart`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.AddChart) 支持设置折线图线条宽度,相关 [issue #505](https://github.com/xuri/excelize/issues/505) * 函数 [`AddChart`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.AddChart) 现已支持指定图表坐标轴标签间隔单位,相关 [issue #538](https://github.com/xuri/excelize/issues/538) * 函数 [`SetColVisible`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.SetColVisible) 支持对指定范围内的多列进行可见行设置 * 函数 [`AddPivotTable`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.AddPivotTable) 支持创建数据透视表时,所引用数据源区域存在空列,相关 [issue #511](https://github.com/xuri/excelize/issues/511) #### 问题修复 * 修复单元格值的末尾空白字符丢失问题 * 函数 [`MergeCell`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.MergeCell) 支持重叠合并单元格处理,解决 [issue #533](https://github.com/xuri/excelize/issues/533) * 修复某些情况下空内联富文本丢失的问题,解决 [issue #529](https://github.com/xuri/excelize/issues/529) * 修复对空工作簿视图的处理,解决 [issue #426](https://github.com/xuri/excelize/issues/426) * 增加对公式中存在的转义字符处理,解决 [issue #546](https://github.com/xuri/excelize/issues/546) #### 性能表现 * 新增 [`NewStreamWriter`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.NewStreamWriter) 和 [`Flush`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#StreamWriter.Flush) 方法,适用于生成包含大规模数据的工作表。与非流式写入相比,可降低 90.2% 的内存开销、节省 53% 时间 * 函数 [`GetRows`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.GetRows) 内存采用流式数据读取,读取电子表格文档内存开销降低 87.9%,相关 [issue #146](https://github.com/xuri/excelize/issues/146) 和 [issue #382](https://github.com/xuri/excelize/issues/382) * 兼容性提升,新增 49 个文档内部 XML 命名空间支持 #### 其他 * 对于解析 XML 过程出现的异常将使用日志记录,相关 [issue #539](https://github.com/xuri/excelize/issues/539) * 提高单元测试覆盖度(行覆盖度:97.04%) * 完善单元测试中的错误处理 * 包含简体中文、英语、法语、俄语、日语和韩语的[多国语言文档网站](https://xuri.me/excelize)更新 * 技术交流群 DingTalk Group ID: [`30047129`](https://qr.dingtalk.com/action/joingroup?code=v1,k1,2oHMIIOyvPcGezVdHJjsHwdZzzYNI6xs3Oww8uhlvCk=&_dt_no_comment=1&origin=11) QQ Group ID: [`207895940`](https://jq.qq.com/?_wv=1027&k=5imdV9h) <img width="400" src="https://xuri.me/excelize/zh-hans/images/group@2x.png" alt="Excel 技术交流群">

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1239 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传