Excelize 是 Go 語言編寫的用於操作 Office Excel 文檔基礎庫,基於 ECMA-376,ISO/IEC 29500 國際標準。可以使用它來讀取、寫入由 Microsoft Excel™ 2007 及以上版本創建的電子表格文檔。支持 XLSX / XLSM / XLTM 等多種文檔格式,高度兼容帶有樣式、圖片 (表)、透視表、切片器等複雜組件的文檔,並提供流式讀寫 API,用於處理包含大規模數據的工作簿。可應用於各類報表平臺、雲計算、邊緣計算等系統。入選 2020 Gopher China - Go 領域明星開源項目 (GSP)、2018 開源中國碼雲 Gitee 最有價值開源項目 GVP。
開源代碼
GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
中文文檔: xuri.me/excelize/zh-hans
2021年1月4日,社區正式發佈了 2.3.2 版本,該版本包含了多項新增功能、錯誤修復和兼容性提升優化。下面是有關該版本更新內容的摘要,完整的更改列表可查看 changelog。
Release Notes
此版本中最顯著的變化包括:
新增功能
- 數據透視表 API
AddPivotTable
支持缺省列與多重數據源,相關 issue #710 - 使用
GetCellValue
獲取單元格的值支持自定義日期與時間數字格式,相關 issue #703 - 計算單元格的值 API
CalcCellValue
新增公式函數支持AND
、CLEAN
、TRIM
、LOWER
、PROPER
、UPPER
和OR
,相關 issue #701 和 #747 - 數據驗證新增支持浮點型小數區間驗證規則,相關 issue #739
- 創建圖表 API
AddChart
新增支持設置數據系列線型寬度和線端類型,相關 issue #549 和 #654
兼容性提升
- 提升包含 6 個以上數據系列的折線圖與 Kingsoft WPS™ 應用程序的兼容性,相關 issue #627
- 避免部分情況下工作簿內部樣式數據產生的冗餘
- 動態解析工作簿核心數據部件
- 支持工作表中多行復用相同行標籤的工作簿,相關 issue #732
問題修復
- 修復公式詞法分析器解析特定非法公式時潛在的 panic 問題,相關 issue #711
- 修復使用相同名稱進行重命名工作表時導致工作表丟失的問題,相關 issue #713
- 修復部分情況下
NewSheet
返回工作表索引錯誤的問題,相關 issue #714 - 修復特定情況下使用非內建數字格式 ID 應用單元格數字格式時產生的 panic 問題,相關 issue #715 和 #741
- 修正公式計算引擎數據精度,相關 issue #727
- 修復部分情況下複製行數據失效的問題,相關 issue #729
- 修復部分情況下刪除工作表後默認活動工作表錯誤的問題,相關 issue #727
- 修復當使用
AddPicture
向帶有多個合併單元格的工作表中插入圖片時,指定自適應尺寸失效的問題,相關 issue 748 - 修復部分情況下複製行時,合併單元格處理異常的問題,相關 issue #752
性能優化
- 流式寫入數據時的內存使用降低約 60%,相關 issue #659
- 優化內部方法
worksheetWriter
運行時對內存分配的影響,相關 issue #722 - 提高
AddPicture
添加圖片 API 的性能,相關 issue #706
其他
- 單元測試與文檔更新
- 包含簡體中文、英語、法語、俄語、日語和韓語的多國語言文檔網站更新,新增 3 種文檔語言:阿拉伯語、德語和西班牙語
- 歡迎加入 Slack 頻道、Telegram 羣組 或技術交流羣
DingTalk Group ID: 30047129
QQ Group ID: 207895940