Excelize 是 Go 語言編寫的一個用來操作 Office Excel 文件類庫,基於 ECMA-376 OOXML Spec。可以使用它來讀取、寫入 XLSX 檔案,相比較其他的開源類庫,Excelize 支援操作帶有資料透視表、切片器、圖表與圖片的 Excel 並支援向 Excel 中插入圖片與建立簡單圖表,可應用於各種報表系統中。
GitHub: github.com/360EntSecGroup-Skylar/excelize
2019年7月1日,社群正式釋出了 2.0.1 版本,該版本包含了多項新增功能、錯誤修復和相容性提升優化。下面是有關該版本更新內容的摘要,完整的更改列表可檢視 change log。
Release Notes
此版本中最顯著的變化包括:
新增功能
- 新增
SetHeaderFooter()
方法,支援設定頁首和頁尾,相關 issue #394 - 新增
SetColStyle()
方法,支援設定列樣式,相關 issue #397 - 新增
SetDefaultFont()
和GetDefaultFont()
方法,支援設定工作簿預設字型,相關 issue #390 - 新增
SetDocProps()
和GetDocProps()
方法,支援設定和獲取文件屬性,相關 issue #415 - 函式
AddChart()
新增加了 26 種圖表的建立:簇狀圓錐、堆積圓錐、百分比堆積圓錐、三維圓錐圖、簇狀水平圓錐圖、堆積水平圓錐圖、堆積百分比水平圓錐圖、簇狀稜錐圖、堆積稜錐、百分比堆積稜錐、三維稜錐圖、簇狀水平稜錐圖、堆積水平稜錐圖、堆積百分比水平稜錐圖、簇狀柱形圖 、堆積柱形圖、百分比堆積柱形圖、三維柱形圖、簇狀水平圓柱圖、堆積水平圓柱圖、堆積百分比水平圓柱圖、三維曲面圖、俯視框架曲面圖、三維曲面框架圖、氣泡圖與三維氣泡圖,不受支援的圖表型別將返回錯誤提示 - 新增
SetDefinedName()
和GetDefinedName()
方法,支援設定和獲取名稱 - 優化並明確了開啟加密檔案時的錯誤提示資訊
- 函式
AddPicture()
現在支援新增 TIF 和 TIFF 格式的圖片
問題修復
- 修復當資料驗證公式中存在雙引號時產生的問題
- 修復內部計數錯誤導致的部分情況下產生重複批註問題,相關 issue #373
- 修復部分情況下因讀取內部工作表 map 錯誤導致讀取檔案失敗的問題,相關 issue #404
- 提升了處理包含資料透視表的文件相容性,相關 issue #413
- 提升了字號與粗體樣式的相容性,相關 issue #411、#420 和 #425
- 優化內部重算元件以修復部分情況下在工作表中刪除或插入行造成文件損壞的問題,相關 issue #421 和 #424
- 修復部分情況下隱藏工作表失效的問題,相關 issue #418
- 修復內部主題顏色索引溢位導致部分情況下圖表系列過多導致文件損壞的問題,相關 issue #422
其他
- 完善單元測試提升覆蓋度,行覆蓋度達到 96.05%
- 程式碼優化,修復 golint 問題