<p align="center"><img src="https://xuri.me/excelize/images/excelize.svg" width="450"></img></p>
[Excelize](https://github.com/360EntSecGroup-Skylar/excelize) 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 OOXML Spec。可以使用它来读取、写入 XLSX 文件,相比较其他的开源类库,Excelize 支持操作带有数据透视表、切片器、图表与图片的 Excel 并支持向 Excel 中插入图片与创建简单图表,可应用于各种报表系统中。
- GitHub: [github.com/360EntSecGroup-Skylar/excelize](https://github.com/360EntSecGroup-Skylar/excelize)
2019年1月3日 社区发布了 [1.4.1 版本](https://github.com/360EntSecGroup-Skylar/excelize/releases/tag/v1.4.1),该版本包含了很多新功能和错误修复。完整的更改列表可查看 [change log](https://github.com/360EntSecGroup-Skylar/excelize/compare/v1.4.0...v1.4.1).
此版本中最显着的变化包括:
#### 新增功能
* 新增 [`WriteTo()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.WriteTo) 方法, 该函数通过实现 io.WriterTo 接口支持文件写入
* 新增 [`SearchSheet()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.SearchSheet) 方法,支持通过给定工作表名称、单元格的值或者正则表达式来搜索指定工作表,相关 [issue #277](https://github.com/360EntSecGroup-Skylar/excelize/issues/277)
* 新增 [`ProtectSheet()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.ProtectSheet) 和 [`UnprotectSheet()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.UnprotectSheet) 方法,支持设置保护和取消保护工作表,以防止其他用户意外或故意更改,移动或删除工作表中的数据,相关 [issue #273](https://github.com/360EntSecGroup-Skylar/excelize/issues/273)
* 新增 [`GetMergeCells()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.GetMergeCells) 方法,支持通过给定的工作表名称获取当前工作表中全部合并单元格的坐标与值
* 支持对页面轮廓线属性设置的支持 relate [issue #304](https://github.com/360EntSecGroup-Skylar/excelize/issues/304)
* 新增 `go module` 支持
* 支持设置与获取工作表的 TopLeftCell 属性,相关 [issue #310](https://github.com/360EntSecGroup-Skylar/excelize/issues/310)
* 图标创建函数 [`AddChart()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.AddChart) 新增支持创建 二维面积图、二维堆积面积图、二维百分比堆积面积图、三维面积图、三维堆积面积图和三维百分比堆积面积图,相关 [issue #311](https://github.com/360EntSecGroup-Skylar/excelize/issues/311)
#### 问题修复
* 修复内部函数 `sharedStringsReader()` 因缺少传统与严格模式 XML 命名空间地址转换导致的问题,解决相关 [issue #276](https://github.com/360EntSecGroup-Skylar/excelize/issues/276)
* 修复图标格式设置 JSON 参数结构体 tag 定义的问题
* 修复部分情况下获取单元格公式时出现空指针异常问题,解决了相关 [issue #290](https://github.com/360EntSecGroup-Skylar/excelize/issues/290)
* 通过 [`GetRows()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.GetRows) 获取指定工作表中全部单元格,该函数的返回值将忽略工作表尾部空白行,解决了相关 [issue #195](https://github.com/360EntSecGroup-Skylar/excelize/issues/195)
* 修复部分情况下 [`GetSheetMap()`](https://godoc.org/github.com/360EntSecGroup-Skylar/excelize#File.GetSheetMap) 返回工作表索引与名称异常问题,解决了相关 [issue #297](https://github.com/360EntSecGroup-Skylar/excelize/issues/297)
* 修复部分情况下通过索引删除工作表出现的异常问题,解决了相关 [issue #308](https://github.com/360EntSecGroup-Skylar/excelize/issues/308)
#### 其他
* 对单元测试进行了重构,相关 [issue #322](https://github.com/360EntSecGroup-Skylar/excelize/issues/322)
* 使用为 excelize 设计的新 Logo, 大量的文档更新
有疑问加站长微信联系(非本文作者)