资讯专栏INFORMATION COLUMN

Go 语言 Excel 类库 Excelize 2.0.0 版本发布

andycall / 1275人阅读

摘要:是语言编写的用于操作文档类库,基于标准。可以使用它来读取写入由及以上版本创建的文档。年月日,社区正式发布了版本,该版本包含了很多新功能错误修复和性能优化。

Excelize 是 Go 语言编写的用于操作 Office Excel 文档类库,基于 ECMA-376 Office OpenXML 标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中。

GitHub: github.com/360EntSecGroup-Skylar/excelize

2019年4月23日, 社区正式发布了 2.0.0 版本,该版本包含了很多新功能、错误修复和性能优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 change log.

Release Notes

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

API 更改

下表列出了 v2.0.0 相比较于 v1.4.1 版本,API 的更改情况:

函数名 增加 error 返回值 行号计算方法变更* 删除 新增
ToALphaString × × ×
TitleToNumber × × ×
SplitCellName × × ×
JoinCellName × × ×
ColumnNameToNumber × × ×
ColumnNumberToName × × ×
CellNameToCoordinates × × ×
CoordinatesToCellName × × ×
DuplicateRowTo × × ×
SetCellFloat × × ×
SetCellStyle × × ×
InsertCol × × ×
RemoveCol × × ×
RemoveRow × ×
InsertRow × ×
DuplicateRow × × ×
SetRowHeight × × ×
GetRowHeight × × ×
GetCellValue × × ×
GetCellFormula × × ×
GetCellHyperLink × × ×
SetCellHyperLink × × ×
SetCellInt × × ×
SetCellBool × × ×
SetCellStr × × ×
SetCellDefault × × ×
GetCellStyle × × ×
SetCellValue × × ×
MergeCell × × ×
SetSheetRow × × ×
SetRowVisible × ×
GetRowVisible × ×
SetRowOutlineLevel × ×
GetRowOutlineLevel × ×
GetRows × × ×
Columns × × ×
SearchSheet × × ×
GetPicture × × ×
AutoFilter × × ×
GetColVisible × × ×
SetColVisible × × ×
GetColOutlineLevel × × ×
SetColOutlineLevel × × ×
SetColWidth × × ×
GetColWidth × × ×
GetMergeCells × × ×
ProtectSheet × × ×
UnprotectSheet × × ×
UpdateLinkedValue × × ×
SetSheetVisible × × ×
adjustHelper × × ×
adjustMergeCells × × ×
adjustAutoFilter × × ×
prepareCell × × ×
setDefaultTimeStyle × × ×
timeToExcelTime × × ×
addDrawingChart × × ×
addDrawingVML × × ×
addDrawingPicture × × ×
getTotalRowsCols × × ×
checkRow × × ×
addDrawingShape × × ×
addTable × × ×
workSheetReader × × ×
copySheet × × ×

* 从版本 v2.0.0 开始,所有行操作方法都使用从 1 开始的 Excel 行编号,早期版本中某些方法中的基于 0 的行编号将不再使用,参考相关 issue #349。

新增功能

新增 DuplicateRowTo() 方法, 支持根据给定的工作表名称(大小写敏感)和行号,在指定行后复制该行

工作表页面布局设置函数 SetPageLayout() 新增对页面布局方向设置的支持,解决了相关 issue #318

工作表页面布局设置函数 SetPageLayout() 新增对页面纸张大小设置的支持

问题修复

修复部分情况下,在样式格式中未指定单元格颜色填充时,创建了空白填充的问题

修复当工作表数据验证公式超过 225 个字符时,文件打开失败的问题,解决了相关 issue #339

修复部分情况下,删除带有公式的单元格会导致文件损坏的问题,解决了相关 issue #346

修复通过获取批注函数 GetComment(),从包含多个工作表的工作簿获取批注时,返回了错误的工作表名称的问题,解决了相关 issue #345

修复获取工作表全部单元格函数 GetRows() 返回多余的列的问题

修复部分情况下删除包含公式的工作表引起文档损坏的问题

性能提升

单元格赋值系列函数、添加批注、图片、图表、超链接和形状函数的性能,均获得了大幅提升

新增重复图片检查,将用添加引用代替添加重复图片,解决了相关 issue #359

其他

文档内容更新与修正

完善单元测试,增加 go1.12 版本下的单元测试

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110401.html

相关文章

  • Excelize发布2.0.1版本Go语言Excel文档基础库

    摘要:是语言编写的用于操作文档类库,基于标准。可以使用它来读取写入由及以上版本创建的文档。年月日,社区正式发布了版本,该版本包含了多项新增功能错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看。 showImg(https://segmentfault.com/img/remote/1460000018971694?w=880&h=360); Excelize 是...

    oliverhuang 评论0 收藏0
  • 2017年前端框架、类库、工具大比拼

    摘要:相比于开发人员的数量,目前框架类库和工具的数量似乎更多一些。本文将会讨论目前最为流行的客户端框架类库和工具以及它们之间的基本差异。典型的类库包括字符串处理日期元素事件动画网络请求等功能。所以不需要明确的区分类库框架和工具。 相比于JavaScript开发人员的数量,目前JavaScript框架、类库和工具的数量似乎更多一些。截至2017年5月,GitHub上的快速搜索显示,有超过110...

    Alliot 评论0 收藏0
  • 使用PHPExcel读写excel

    摘要:要求,使用了名字空间编码规范最新的语言新特性对版本的要求加强。已经放出稳定版,官方不再建议使用。保存和导入的行为分别由和负责。注意不要混淆和对象持有数据,和是对其进行序列化和反序列化的辅助类。单元隶属于具体的表单,使用上和表单类互动最多。 转载请注明文章出处:https://tlanyan.me/use-phpexc... PHPOffice出品的PHPExcel是PHP读取和生成Ex...

    wupengyu 评论0 收藏0
  • 不严谨的不同语言下大 Excel 文件写入的性能比较

    摘要:测试内容使用不同的语言及其版本,测试各自完成包含行列单元格的文件的生成,对比其各自耗费时间,次重复执行取其平均值后进行横向比较。 背景 去年因为线上系统需要导出大量数据(大概是 11 万行)到 Excel,代码是 Python 2.7 写的,除去数据库查询耗时,整个的 Excel 文件生成也还要耗费几十秒的时间,这听起来真是一个非常夸张的事情。后来为其更换了号称性能表现最好的 pyex...

    keithxiaoy 评论0 收藏0
  • 微信小程序快速开发:从注册账号到小程序上架

    摘要:写在前面自从微信小程序功能发布后,我就一直关注着小程序的动向,然而限于学业繁忙,总是没有太多的时间去学习。准备工作注册微信小程序账号点击传送门立马注册微信小程序账号。微信官方一般会在日之内完成审核,我新注册的小程序审核用了两天时间。 写在前面 自从微信小程序功能发布后,我就一直关注着小程序的动向,然而限于学业繁忙,总是没有太多的时间去学习。大二逐渐学习了Vuejs,被其简洁的设计所吸引...

    CHENGKANG 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<