Excelize 是 Go 語言編寫的用於操作 Office Excel 文檔類庫,基於 ECMA-376 Office OpenXML 標準。可以使用它來讀取、寫入由 Microsoft Excel™ 2007 及以上版本創建的 XLSX 文檔。相比較其他的開源類庫,Excelize 支持寫入原本帶有圖片(表)、透視表和切片器等複雜樣式的文檔,還支持向 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 問題