Excelize 2.3.2 發布
Excelize 是 Go 語言編寫的用于操作 Office Excel 文檔基礎庫,基于 ECMA-376,ISO/IEC 29500 國際標準。可以使用它來讀取、寫入由 Microsoft Excel? 2007 及以上版本創建的電子表格文檔。支持 XLSX / XLSM / XLTM 等多種文檔格式,高度兼容帶有樣式、圖片(表)、透視表、切片器等復雜組件的文檔,并提供流式讀寫 API,用于處理包含大規模數據的工作簿。可應用于各類報表平臺、云計算、邊緣計算等系統。入選 2020 Gopher China - Go 領域明星開源項目 (GSP)、 2018 開源中國碼云 Gitee 最有價值開源項目 GVP,目前已成為 Go 語言最受歡迎的 Excel 文檔基礎庫。
開源代碼
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 - 創建圖表 API
AddChart
支持指定是否關閉不與圖表重疊的圖例
兼容性提升
- 提升包含 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 #735
- 修復當使用
AddPicture
向帶有多個合并單元格的工作表中插入圖片時,指定自適應尺寸失效的問題,相關 issue #748 - 修復部分情況下復制行時,合并單元格處理異常的問題,相關 issue #752
性能優化
- 流式寫入數據時的內存使用降低約 60%,相關 issue #659
- 優化內部方法
worksheetWriter
運行時對內存分配的影響,相關 issue #722 - 提高
AddPicture
添加圖片 API 的性能,相關 issue #706
其他
- 單元測試與文檔更新
- 新增 3 種文檔語言:阿拉伯語、德語和西班牙語