Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片 (表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。入选 2018 开源中国码云 Gitee 最有价值开源项目 GVP,目前已成为 Go 语言最受欢迎的 Excel 文档基础库。

开源代码

GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
中文文档: xuri.me/excelize/zh-hans

2020 年 5 月 11 日,社区正式发布了 2.2.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 changelog。

有关更改的摘要,请参阅 Release Notes。完整的更改列表可查看 change log。

Release Notes

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

新增功能

下列 API 的参数将使用工作表索引代替工作表 ID: GetSheetName、GetSheetIndex、GetActiveSheetIndex 和 SetActiveSheet, 相关 #485
新增 GetSheetList API,获取与工作簿内顺序保持一致的工作表列表
新增 AddChartSheet API,支持创建图表工作表,相关 issue #451
新增 UnsetConditionalFormat API,支持从工作表中删除条件格式,相关 issue #571
新增 DeleteDataValidation API,支持从工作表中删数据验证设置,相关 issue #348
新增 SetCellRichText API,支持设置单元格换行与富文本样式,相关 issue #172
新增函数 InsertPageBreak 和 RemovePageBreak,支持从工作表中插入或删除换页符,相关 issue #492
函数 AddPivotTable API 更改,支持设置数据透视表的数据标签与汇总函数,相关 issue #582
函数 AddPivotTable 支持设置数据透视表的筛选项,相关 issue #598
函数 AddPivotTable 支持数据透视表中的值、行或筛选项为空
导出函数 ExcelDateToTime,提供将 Excel 时间格式转换为 time.Time 数据类型
导出 Style 结构体,允许通过结构体指针或 JSON 字符创建样式,相关 issue #470

问题修复

修复当使用 SetConditionalFormat 为单元格设置条件格式时,>= 和 <= 运算符不生效的问题,解决 issue #608
修复特定情况下通过 StreamWriter 进行流式写入导致工作表损坏的问题,解决 issue #576
提高公式中的特殊字符兼容性,解决 issue #578
修复通过 DuplicateRowTo 进行复制行时,合并单元格未被复制的问题,解决 issue #586
修复特定情况下创建条件格式后,相邻单元格边框样式丢失问题,解决 issue #200
修复通过 GetComments 获取批注式部分批注数据无法获取问题,解决 issue #345
修复特定情况下通过 GetCellValue 获取单元格值错误问题,解决 issue #602
修复因某些情况下文档内部行内单元格缺少 r 属性而导致的 GetCellValue 错误地返回空值问题
兼容单元格样式中的空值与默认值,修复部分情况下通过电子表格软件打开生成文档修改样式失效的问题,解决 issue #628

性能提升

优化内部函数 getRowHeight,降低内存占用

其他

移除工作表计算属性使部分电子表格应用程序(如:金山 WPS Office)打开生成的文档进行重新计算公式
完善单元测试中的错误处理
包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
技术交流群
DingTalk Group ID: 30047129
QQ Group ID: 207895940

Excelize 发布 2.2.0 版本, Go 语言 Excel 文档基础库的更多相关文章

  1. Excelize 发布 2.3.0 版本, Go 语言 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  2. Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  3. Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  4. Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  5. Excelize 发布 2.6.1 版本,支持工作簿加密

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  6. centos6编译安装zabbix3.0和中文支持整理文档

    编者按: 最近公司部分业务迁移机房,为了更方便的监控管理主机资源,决定上线zabbix监控平台.运维人员使用2.4版本的进行部署,个人在业余时间尝鲜,使用zabbix3.0进行部署,整理文档如下,仅供 ...

  7. .net core webapi 定义多版本与 Swagger 的文档输出

    前提: 需要nuget  以下两个程序集 Swashbuckle.AspNetCore 我暂时用的是  4.01: Microsoft.AspNetCore.Mvc.Versioning.ApiExp ...

  8. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

    ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RA ...

  9. XHTML 1.0 的三种 XML 文档类型 DOCTYPE

    XHTML 1.0 的三种 XML 文档类型 XHTML 1.0 规定了三种 XML 文档类型 XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W ...

随机推荐

  1. Kubernetes client-go workqueue 源码分析

    概述Queue接口和结构体setAdd()Get()Done()DelayingQueue接口和结构体waitForNewDelayingQueuewaitingLoop()AddAfter()Rat ...

  2. ThreadLocal模板

    public class UserIdThreadLocal { private static final ThreadLocal<Long>LOCAL=new ThreadLocal&l ...

  3. Django从数据库导model迁移乱码

    python manage.py inspectdb > [your app name]\models.py 执行后 model.py乱码,将models.py以 UTF-16LE打开.

  4. node线上项目连接mysql出现 504 Gateway Time-Out

    var connection = mysql.createConnection({host : 'localhost',user : 'root',password : '123456',port: ...

  5. SAP 实例- 下拉框

    效果图 源代码 REPORT rsdemo_dropdown_listbox . DATA init. TABLES scarr. TABLES spfli. TABLES sflight. TABL ...

  6. SAP OLE download to excel

    REPORT RSDEMO01 NO STANDARD PAGE HEADING. * this report demonstrates how to send some ABAP data to a ...

  7. UiPath剪贴板操作的介绍和使用

    一.剪切板操作的介绍 模拟用户使用剪切板操作的一种行为: 例如使用设置剪切板(SettoClipboard),从剪切板获取(GetfromClipboard)的操作 二.剪切板相关操作在UiPath中 ...

  8. 使用MySqlBulkLoader批量插入数据

    最近在项目中遇到插入几万.几十万.几百万的数据到MYSQL数据库,使用EF插入会发现插入速度非常慢的场景, 数据量非常大时EF插入需要几十分钟,甚至几个小时,这样子的速度肯定不是我们所期望的. 后面经 ...

  9. NC202498 货物种类

    NC202498 货物种类 题目 题目描述 某电商平台有 \(n\) 个仓库,编号从 \(1\) 到 \(n\) . 当购进某种货物的时候,商家会把货物分散的放在编号相邻的几个仓库中. 我们暂时不考虑 ...

  10. C++ 练气期之二维数组与矩阵运算

    1. 前言 C++中的一维数组可以存储线性结构的数据,二维数组可以存储平面结构的数据.如班上所有学生的各科目成绩就有二个维度,学生姓名维度和科目成绩维度. 这样的表格数据可以使用二维数组进行存储. 当 ...