Excelize 是 Go 語言編寫的用於操作 Office Excel 檔案基礎庫,基於 ECMA-376,ISO/IEC 29500 國際標準。可以使用它來讀取、寫入由 Microsoft Excel™ 2007 及以上版本創建的電子錶格檔案。支持 XLSX / XLSM / XLTM 等多種檔案格式,高度兼容帶有樣式、圖片(表)、透視表、切片器等複雜組件的檔案,並提供流式讀寫 API,用於處理包含大規模數據的工作簿。可應用於各類報表平台、雲計算、邊緣計算等系統。入選 2018 開源中國碼雲 Gitee 最有價值開源項目 GVP,目前已成為 Go 語言最受歡迎的 Excel 檔案基礎庫。
開源代碼
GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
Excelize 知名用戶
2020年8月10日,社區正式釋出了 2.3.0 版本,該版本包含了多項新增功能、錯誤修復和兼容性提升優化。下面是有關該版本更新內容的摘要,完整的更改列表可查看 changelog。
Release Notes
此版本中最顯著的變化包括:
新增功能
- 支持併發設置單元格的值,相關 issue #670
- 新增 API:
SetSheetFormatPr
和GetSheetFormatPr
,支持設置工作表格式屬性,相關 issue #635 - 新增 API:
GetCols
和Cols
欄迭代器 AddChart
添加圖表 API 支持指定 Y 軸對數刻度,相關 issue #661AddPicture
添加圖片 API 支持插入圖片自適應單元格- 增加對列、欄和工作簿名稱的長度上限的檢查
- 公式計算引擎支持自定義名稱,相關 issue #665
- API
CalcCellValue
更新:新增 12 項函數,COUNTA
,ISBLANK
,ISERR
,ISERROR
,ISEVEN
,ISNA
,ISNONTEXT
,ISODD
,ISNUMBER
,MEDIAN
,NA
和SUMIF
兼容性提升
- 兼容不同大小寫的檔案內部組件路徑
- 字符型單元格的值存儲於共享字符表中,降低生成檔案體積
- 支持工作表中無
r
屬性的row
標籤,以修復部分情況下讀取工作表內容為空的問題 - 支持多命名空間的 XML 標籤,以兼容金山 WPS 等電子錶格應用程式,解決 issue #651
- 自動篩選器兼容 Office 2007 - 2010 版本的電子錶格應用程式,解決 issue #637
問題修復
- 修復因工作簿內產生了重復的篩選數據庫而導致的檔案損壞問題
- 避免添加樣式時生成重復的樣式定義
- 修復設置富文本中包含的特殊字符丟失問題
- 修復使用 Office 應用程式打開添加批注的檔案,保存後再次打開批注形狀不為矩形的問題,解決 #672
- 避免部分情況下開啓編譯內聯優化參數時潛在的運行時 panic 問題,解決 issue #677 和 #679
- 修正獲取百分比單元格值的數值精度問題
其他
- 修復特定情況下打開無效工作表時出現的異常 panic 問題
- 完善單元測試中的錯誤處理
- 包含簡體中文、英語、法語、俄語、日語和韓語的多國語言檔案網站更新
- 技術交流群