Excelize 是 Go 語言編寫的一個用來操作 Office Excel 文件類庫,基於 ECMA-376 OOXML Spec。可以使用它來讀取、寫入 XLSX 檔案,相比較其他的開源類庫,Excelize 支援操作帶有資料透視表、切片器、圖表與圖片的 Excel 並支援向 Excel 中插入圖片與建立簡單圖表,可應用於各種報表系統中。
2019年1月3日 社群釋出了 1.4.1 版本,該版本包含了很多新功能和錯誤修復。完整的更改列表可檢視 change log.
此版本中最顯著的變化包括:
新增功能
- 新增
WriteTo()
方法, 該函式通過實現 io.WriterTo 介面支援檔案寫入 - 新增
SearchSheet()
方法,支援通過給定工作表名稱、單元格的值或者正規表示式來搜尋指定工作表,相關 issue #277 - 新增
ProtectSheet()
和UnprotectSheet()
方法,支援設定保護和取消保護工作表,以防止其他使用者意外或故意更改,移動或刪除工作表中的資料,相關 issue #273 - 新增
GetMergeCells()
方法,支援通過給定的工作表名稱獲取當前工作表中全部合併單元格的座標與值 - 支援對頁面輪廓線屬性設定的支援,相關 issue #304
- 新增
go module
支援 - 支援設定與獲取工作表的 TopLeftCell 屬性,相關 issue #310
- 圖表建立函式
AddChart()
新增支援建立 二維面積圖、二維堆積面積圖、二維百分比堆積面積圖、三維面積圖、三維堆積面積圖和三維百分比堆積面積圖,相關 issue #311
問題修復
- 修復內部函式
sharedStringsReader()
因缺少傳統與嚴格模式 XML 名稱空間地址轉換導致的問題,解決相關 issue #276 - 修復圖表格式設定 JSON 引數結構體 tag 定義的問題
- 修復部分情況下獲取單元格公式時出現空指標異常問題,解決了相關 issue #290
- 通過
GetRows()
獲取指定工作表中全部單元格,該函式的返回值將忽略工作表尾部空白行,解決了相關 issue #195 - 修復部分情況下
GetSheetMap()
返回工作表索引與名稱異常問題,解決了相關 issue #297 - 修復部分情況下通過索引刪除工作表出現的異常問題,解決了相關 issue #308
其他
- 對單元測試進行了重構,相關 issue #322
- 使用為 excelize 設計的新 Logo, 大量的文件更新