iT邦幫忙

0

Excelize 開源十週年,釋出 2.11.0 版本

  • 分享至 

  • xImage
  •  

"Excelize 開源十週年,釋出 2.11.0 版本"

Excelize 是 Go 語言編寫的用於操作 Office Excel 檔案基礎庫,基於 ECMA-376,ISO/IEC 29500 國際標準。可以使用它來讀取、寫入由 Microsoft Excel™ 2007 及以上版本創建的電子錶格檔案。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多種檔案格式,高度兼容帶有樣式、圖片(表)、樞紐分析表、切片器等複雜組件的檔案,並提供流式讀寫 API,用於處理包含大規模數據的活頁簿。可應用於各類報表平台、雲計算、邊緣計算等系統。

Excelize Star History on GitHub

"Excelize Star History on GitHub"

2026年7月7日,社區正式釋出了 2.11.0 版本,本次版本共有來自全球 27 位開發者參與貢獻,帶來 40 多項更新內容,包含新功能、錯誤修正以及效能優化等改進。下面是有關該版本更新內容的摘要,此版本中最顯著的變化包括:

相容性提示

  • 升級 Go 語言版本要求至 1.25.0 或更高版本,以升級依賴包 golang.org/x/net
  • 關於 AddChartAddChartSheetAddShape 函式的不相容變更
    • Chart 資料類型中 Title 欄位的資料類型由 []RichTextRun 更改為 ChartTitle
    • Shape 資料類型中 Line 欄位的資料類型由 ShapeLine 更改為 LineOptions
    • 資料類型 ChartDashType 重命名為 LineDashType
    • 資料類型 ChartLineType 重命名為 LineType
    • 資料類型 ChartLine 重命名為 LineOptions

安全更新

  • 讀取工作表時檢查列號以防止無限制記憶體分配 (CVE-2026-54063),相關安全公告 GHSA-h69g-9hx6-f3v4
  • 透過驗證工作表列號是否超出最大限制來防止攻擊者控制流式讀取記憶體分配 (CVE-2026-59161),相關安全公告 GHSA-q5j5-6p94-4gwc
  • 防止在共享字符串表索引無效時獲取存儲格值引發 panic (CVE-2026-59162),相關安全公告 GHSA-fx5j-qcqg-grpf

新增功能

  • 新增 ChartTitle 資料類型
  • 新增 PivotTableShowValuesAs 資料類型
  • 新增 PivotTableShowValuesAsType 列舉類型
  • 新增 3 個導出錯誤變數:ErrPivotTableShowValuesAsBaseFieldErrPivotTableShowValuesAsBaseItemErrUnsupportedPivotTableShowValuesAsType
  • PivotTableField 資料類型中新增 ShowValuesAs 欄位
  • PivotTableOptionsSlicerOptions 資料類型中新增 SelectedItems 欄位
  • 新增 AutoFitColWidth 函式,支援自動調整欄寬,相關 issue 92
  • SetSheetName 函式支援對原本無效的名稱工作表進行重命名,解決 issue 548
  • CalcCellValue 函式支援計算帶有波浪號萬用字元條件的存儲格公式
  • CalcCellValue 函式支援計算帶有隱式交集的存儲格公式,並修復正則表達式條件計算有誤的問題
  • CalcCellValue 函式支援計算帶有跨工作表的三維引用存儲格公式,相關 issue 2303
  • CalcCellValue 函式支援傳回不應用數字格式的原始存儲格公式計算結果,相關 issue 2316
  • AddPivotTable 函式在創建樞紐分析表時,支援檢查相同資料欄位是否同時出現在樞紐分析表的欄、列和篩選欄位中,以防止生成損壞的活頁簿
  • AddPivotTableGetPivotTables 函式支援設定和獲取樞紐分析表資料欄位的「值顯示方式」,相關 issue 2340
  • AddPivotTableAddSlicerGetPivotTablesGetSlicers 函式支援設定和獲取樞紐分析表及樞紐分析表交叉分析篩選器的篩選選定項,相關 issue 2154
  • AddChartAddChartSheet 函式在添加圖表時,支援使用公式設定圖表標題
  • AddChartAddChartSheet 函式在添加圖表時,支援設定圖表標題和圖表坐標軸標題的佈局
  • AddChartAddChartSheet 函式在添加圖表時,支援設定圖表標題和圖表坐標軸標題的線條格式
  • AddShape 函式在添加圖形時,支援設定圖形的線條格式
  • NewStyle 函式在創建純色填滿樣式時,若未指定自訂色彩值,則支援自動設定前景色和背景色

相容性提升

  • 修復圖表工作表在 Excel Online 和 KingSoft WPS™ Office 中不顯示的問題,相關 issue 2273

問題修復

  • 修復 v2.8.1 中引入的問題,解決 issue 1383
  • 修復 AddChart 函式在添加圖表時,若未指定系列填滿色彩將引發 panic 的問題
  • 修復 CalcCellValue 函式在某些情況下,計算帶有無效列引用的存儲格公式時將引發 panic 的問題,解決 issue 2266
  • 修復使用 CalcCellValue 函式時公式精確文本比對無法比對子字符串的問題
  • 修復 CalcCellValue 函式計算 BINOM.INV、CHIINV、CHISQ.DIST、IMSECH、IMSQRT 和 NEGBINOM.DIST 公式函式時的計算精度問題
  • 修復 CalcCellValue 函式在某些情況下對包含 FREQUENCY 公式函式計算結果有誤的問題
  • 修復 CalcCellValue 函式計算括號或運算符內包含錯誤值的公式時傳回錯誤計算結果的問題,解決 issue 2344
  • 修復 AddComment 函式添加註解時,若作者已存在於作者列表時,為所有註解分配錯誤作者 ID 的問題,解決 issue 2289
  • 修復因傳回錯誤前未正確釋放檔案鎖而導致潛在死鎖的問題
  • 修復部分情況下自訂數字格式中逗號未被正確格式化的問題,解決 issue 2297
  • 修復列迭代器讀取包含無效工作表 XML 的損壞活頁簿時引發 panic 的問題,解決 issue 2299
  • 修復調整包含外部引用的公式後,公式中的單引號丟失問題
  • 修復部分情況下無法解密使用 ECMA-376 Agile 加密和 SHA-512 雜湊算法保護的活頁簿的問題,解決 issue 2328
  • 修復 SetCellFormula 函式在使用普通公式覆蓋共享存儲格公式時,未清除共享公式中繼資料的問題,解決 issue 2337

性能優化

  • 降低讀取未加密活頁簿時的記憶體佔用,行迭代器記憶體開銷相較於上一版本降低最高約 85%
  • 優化坐標轉換函式及部分內部函式的性能
    • ColumnNumberToName 函式的記憶體開銷相較於上一版本降低最高約 90%
    • CoordinatesToCellName 函式的記憶體開銷相較於上一版本降低最高約 13%
    • 內部函式 isNumeric 的記憶體開銷相較於上一版本降低最高約 68%

其他

  • Go Modules 依賴模塊更新
  • 單元測試與文檔更新
  • 包含阿拉伯語、德語、英語、西班牙語、法語、意大利語、日語、韓語、葡萄牙語、俄語、簡體中文和繁體中文的多國語言文檔網站更新
  • 支援 WebAssembly / JavaScript 的 excelize-wasm NPM 包發佈版本更新
  • 支援 Python 的 excelize PyPI 包發佈版本更新
  • 支援 C# 的 ExcelizeCs NuGet .Net 包發佈

致謝

感謝 Excelize 的所有貢獻者,以下是為此版本提交代碼的貢獻者列表:

  • Rynzie02 (Rynzie)
  • jpoz (James Pozdena)
  • tvso (Tammy)
  • yyt030 (yyt)
  • hwo411 (Igor Khodyrev)
  • JimLee0921 (TuoLee)
  • zhuyanhuazhuyanhua (zhuhua)
  • kenny-not-dead (Roman Sergeev)
  • debugdoctor (Debug Doctor)
  • Journeyman150 (Vladislav Anisimov)
  • ivolkoff (Ivan Volkov)
  • plandem (Andrey G.)
  • martskins
  • shcabin
  • narasaka (Nathanael Tehilla Gunawan)
  • lawrence3699 (chaoliang yan)
  • SAY-5 (Sai Asish Y)
  • noahchiu22 (Noah)
  • rootsec1 (Abhishek Murthy)
  • guangxuewu
  • AdamDrewsTR (Adam Drews)
  • grmblfrz (Swen Thümmler)
  • WaterRRabbit
  • krystophny (Christopher Albert)
  • Aprax14 (Damiano Scarpellini)
  • artur-chopikian (Artur Chopikian)
  • huijian3139 (Jason)

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言