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
中文文檔: xuri.me/excelize/zh-hans
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 問題
- 完善單元測試中的錯誤處理
- 包含簡體中文、英語、法語、俄語、日語和韓語的多國語言文檔網站更新
- 技術交流羣