是 Go 語言編寫的用于操作 Office Excel 文檔類庫,基于 ECMA-376 Office Open XML 标準。可以使用它來讀取、寫入由 Microsoft Excel™ 2007 及以上版本建立的 XLSX 文檔。相比較其他的開源類庫,Excelize 支援寫入原本帶有圖檔(表)、透視表和切片器等複雜樣式的文檔,還支援向 Excel 文檔中插入圖檔與圖表,并且在儲存後不會丢失文檔原有樣式,可以應用于各類報表系統中。入選 2018 開源中國碼雲
Gitee 最有價值開源項目 GVP,目前已成為 Go 語言最受歡迎的 Excel 文檔基礎庫。
開源代碼
GitHub:
github.com/xuri/excelizeGitee:
gitee.com/xurime/excelize中文文檔:
xuri.me/excelize/zh-hans2020年2月10日,社群正式釋出了 2.1.0 版本,該版本包含了多項新增功能、錯誤修複和相容性提升優化。下面是有關該版本更新内容的摘要,完整的更改清單可檢視
changelog。
Release Notes
此版本中最顯著的變化包括:
新增功能
- 新增
方法,支援從工作簿或工作表中删除名稱DeleteDefinedName
-
和SetPageMargins
方法,支援擷取和設定頁面邊距GetPageMargins
-
DeleteChart
方法,支援從工作表中删除圖表和圖檔DeletePicture
- 增加對非 UTF-8 編碼 Excel 文檔的支援
- 函數
現已支援建立子母餅圖、複合條餅圖群組合圖AddChart
-
新增設定圖表主要網格線支援,相關 issue #501AddChart
-
支援設定折線圖線條寬度,相關 issue #505AddChart
-
現已支援指定圖表坐标軸标簽間隔機關,相關 issue #538AddChart
-
支援對指定範圍内的多列進行可見行設定SetColVisible
-
支援建立資料透視表時,所引用資料源區域存在空列,相關 issue #511AddPivotTable
問題修複
- 修複單元格值的末尾空白字元丢失問題
-
支援重疊合并單元格處理,解決 issue #533MergeCell
- 修複某些情況下空内聯富文本丢失的問題,解決 issue #529
- 修複對空工作簿視圖的處理,解決 issue #426
- 增加對公式中存在的轉義字元處理,解決 issue #546
性能表現
-
NewStreamWriter
方法,适用于生成包含大規模資料的工作表。與非流式寫入相比,可降低 90.2% 的記憶體開銷、節省 53% 時間Flush
-
記憶體采用流式資料讀取,讀取電子表格文檔記憶體開銷降低 87.9%,相關 issue #146 issue #382GetRows
- 相容性提升,新增 49 個文檔内部 XML 命名空間支援
其他
- 對于解析 XML 過程出現的異常将使用日志記錄,相關 issue #539
- 提高單元測試覆寫度(行覆寫度:97.04%)
- 完善單元測試中的錯誤處理
- 包含簡體中文、英語、法語、俄語、日語和韓語的多國語言文檔網站更新