Excelize 2.4.0 正式版發佈, 新增 152 項公式函數支持

github.com/360EntSecGroup-Skylar/excelize

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年4月19日,社區正式發佈了 2.4.0 版本,該版本包含了多項新增功能、錯誤修復和兼容性提升優化。下面是有關該版本更新內容的摘要,完整的更改列表可查看 changelog

Release Notes

此版本中最顯著的變化包括:

兼容性提示

升級至該版本需要您使用的 Go 語言爲 1.15 或更高版本。

新增功能

  • 新增 GetCellRichText API,支持根據給定的工作表名稱獲取富文本
  • SetPageLayoutGetPageLayout 現已支持設置和獲取頁面打印縮放比例、指定單色打印、起始頁碼
  • SetSheetPrOptionsGetSheetPrOptions 現已支持設置和獲取工作表標籤頁顏色
  • SetCellHyperLink 支持設置屏幕提示文字與顯示文字,相關 issue #790
  • 創建數據透視表時新增支持 ShowError 選項
  • 流式 API 支持設置單元格公式, 相關 issue #625
  • 公式計算引擎支持不等於運算符
  • 嵌套公式函數現在支持將單元格引用用作參數
  • 支持指定是否設置圖表數據系列格式爲自動填充顏色
  • 新增 152 項公式函數支持: ATAN, AVERAGE, AVERAGEA, BESSELI, BESSELJ, BIN2DEC, BIN2HEX, BIN2OCT, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, CHAR, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, COMPLEX, CONCAT, CONCATENATE, COUNT, COUNTBLANK, CUMIPMT, CUMPRINC, DATE, DATEDIF, DB, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DOLLARDE, DOLLARFR, EFFECT, ENCODEURL, EXACT, FALSE, FIND, FINDB, FISHER, FISHERINV, FIXED, FV, FVSCHEDULE, GAMMA, GAMMALN, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, IF, IFERROR, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, IPMT, IRR, ISTEXT, ISPMT, KURT, LARGE, LEFT, LEFTB, LEN, LENB, LOOKUP, LOWER, MAX, MID, MIDB, MIN, MINA, MIRR, N, NOMINAL, NORM.DIST, NORMDIST, NORM.INV, NORMINV, NORM.S.DIST, NORMSDIST, NORM.S.INV, NORMSINV, NOT, NOW, NPER, NPV, OCT2BIN, OCT2DEC, OCT2HEX, PDURATION, PERCENTILE.INC, PERCENTILE, PERMUT, PERMUTATIONA, PMT, POISSON.DIST, POISSON, PPMT, PROPER, QUARTILE, QUARTILE.INC, REPLACE, REPLACEB, REPT, RIGHT, RIGHTB, ROMAN, ROW, ROWS, SHEET, SKEW, SMALL, STDEV, STDEV.S, STDEVA, SUBSTITUTE, T, TODAY, TRIM, TRUE, UNICHAR, UNICODE, UPPER, VAR.P, VARP, VLOOKUP

兼容性提升

  • 當以 nil 作爲值調用 SetCellValue 設置單元格的值時,不再爲單元格設置空白字符串而以空值代替,解決 issue #756
  • 移除內部處理單元格填充顏色樣式時冗餘的 XML 可選空值解析標識
  • 提升與 Google Sheets 離線瀏覽器擴展應用程序的兼容性,相關 issue #769
  • 在篩選器對應的名稱中使用絕對引用以提升與 Apache OpenOffice 應用程序的兼容性,解決 issue #776
  • 在流式解析工作表過程中增加 XML 標籤關閉事件的處理,提升行/列迭代器讀取性能,修復部分情況下讀取行數有誤的問題
  • 提高工作簿內工作表文檔使用相對路徑的兼容性
  • 避免創建重複的富文本樣式,解決 issue #787
  • 提高工作簿內工作表文檔使用絕對路徑與 Windows 目錄分隔符的兼容性

問題修復

  • 修復數值舍入精度問題 #764
  • 添加並調整工作表字段的解析順序,修復部分情況下生成的文檔損壞的問題 #766
  • 修復 COTH 雙曲餘切三角函數計算有誤的問題
  • 公式計算鏈增加對工作表的關聯處理,修復部分情況下複製行導致的文檔損壞問題,解決 issue #774
  • 刪除工作表時增加對名稱的處理,解決 issue #775
  • 修復內部函數 newFillsparseToken 圈複雜度過高的問題
  • 修復對工作表默認自定義行高的檢查
  • 修復取消工作表中全部合併單元格時導致文檔損壞的問題, 解決 issue #782
  • 修復部分情況下篩選條件部分丟失的問題
  • 修復當工作簿包含圖表工作表、對話工作表時,UpdateLinkedValue 產生錯誤的問題
  • 修復部分情況下 GetColWidth 返回默認列寬錯誤的問題
  • 修復無法通過 Excel 電子表格應用程序向創建的數據透視表中添加時間軸與切片器的問題,解決 issue #804
  • 設置名稱時內部的 localSheetId 屬性將使用 sheetIndex,修正錯誤的工作表索引使用
  • 修復部分情況下保存後的文檔單元格鎖定或隱藏屬性可能丟失問題,解決 issue #809
  • 修復流式寫入數據後調用普通 API 將導致流式寫入的丟失問題,解決 issue #813
  • 修復負值圖表數據系列填充顏色丟失問題

性能優化

  • 提高了數值精度處理速度

其他

  • Go Modules 依賴模塊更新
  • 單元測試與文檔更新
  • 包含簡體中文、英語、法語、俄語、日語、韓語、阿拉伯語、德語和西班牙語的多國語言文檔網站更新
  • 歡迎加入 Slack 頻道Telegram 羣組 或技術交流羣

DingTalk Group ID: 30047129
QQ Group ID: 207895940

Excelize 技术交流群
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章