iT邦幫忙

0

Excelize 釋出 2.10.0 版本,開源的 Excel 檔案基礎庫

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20251017/20146109b3L3ZdJuE1.jpg

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

2025年10月14日,社區正式釋出了 2.10.0 版本,該版本包含了多項新增功能、錯誤修復和兼容性提升優化。下面是有關該版本更新內容的摘要,此版本中最顯著的變化包括:

相容性提示

  • 升級 Go 語言版本要求至 1.24.0 或更高版本,以升級依賴包 golang.org/x/crypto

新增功能

  • 新增導出的錯誤變數 ErrTransparency
  • 新增 3 項資料類型:ChartDashTypeCustomPropertyZipWriter
  • ChartMarker 資料類型中新增 Border 欄位
  • ChartLegend 資料類型中新增 Font 欄位
  • ChartSeries 資料類型中新增 Legend 欄位
  • Fill 資料類型中新增 Transparency 欄位
  • ChartLine 資料類型中新增 DashFill 欄位
  • Options 資料類型中新增 TmpDir 欄位,支持指定用於創建臨時文件的臨時目錄,相關 issue 2024
  • Font 資料類型中新增 Charset 欄位,支持指定字體編碼
  • 新增 2 項函式 GetCustomPropsSetCustomProps,支持獲取和設定活頁簿的自訂屬性,相關 issue 2146
  • 新增函式 SetZipWriter,支持設定自訂 ZIP 寫入器,相關 issue 2199
  • 在函式 GetMergeCells 中新增可選參數 withoutValues,支持獲取合併存儲格時略過讀區合併存儲格的值
  • 函式 DeleteDataValidation 支持刪除擴展列表中的資料驗證,並支持透過引用序列數組或空格分隔的引用字符串,對多個存儲格範圍進行刪除,相關 issue 2133
  • 函式 AddChart 支持設定圖表的虛線樣式和資料點外框類型
  • 函式 AddChart 支持設定圖表圖例的字體,相關 issue 2169
  • 函式 AddChartAddChartSheet 支持創建 4 種箱體和蠟燭圖類型股票圖表:最高價-最低價-收盤價、開盤價-最高價-最低價-收盤價、成交量-最高價-最低價-收盤價、成交量-開盤價-最高價-最低價-收盤價圖表
  • 函式 CalcCellValue 支持計算 BAHTTEXT 公式函式
  • 當字體字號小於最小值時,創建樣式時將不再使用默認字體大小代替,而是略過無效的字號設定
  • 支持解析帶有伊斯蘭歷的存儲格數字格式
  • 支持為圖表和形狀設定透明度,相關 issue 2176
  • 新增對以下 8 種語言的數字格式支持:科西嘉語、克羅埃西亞語、克羅埃西亞語(拉丁語)、捷克語、丹麥語、迪維希語、荷蘭語、不丹語

相容性提升

  • 設定存儲格公式時移除所有前導等號,以提升與 Apple Numbers 的兼容性,相關 issue 2145
  • 在活頁簿內部關係部件中為工作表使用相對路徑

問題修復

  • 修復 v2.9.1 中引入的問題,修復 ARMv7 架構上構建失敗的問題,解決 issue 2132
  • 修復在數字格式解析器解析結果中,數字格式末尾的空白字符丟失問題
  • 修復部分情況下,讀取存儲格時由於內部索引偏移範圍無效導致的 panic 問題,解決 issue 2019 和 2150
  • 修復部分情況下,讀取帶有不支持的樞紐分析表緩存源類型時出現的 panic 問題,解決 issue 2161
  • 修復字符驗證錯誤,在字符長度限制檢查中將字符作為單個字符計數,解決 issue 2167
  • 修復部分情況下,添加樞紐分析表後,生成的活頁簿在 Mac 版本 Excel 開啓時提示檔案損壞的問題,解決 issue 2180
  • 修復讀取包含藏語數字格式代碼的存儲格時月份縮寫錯誤的問題
  • 修復讀取 1900 年帶有特殊日期數字格式的結果與 Excel 不一致的問題,解決 issue 2192

性能優化

  • 獲取工作表已用區域函數 GetSheetDimension 採用流式解析,相較於上個正式版本速度最高提升約 95%,記憶體分配降低約 96%

其他

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

致謝

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

  • DengY11 (Yi Deng)
  • JerryLuo-2005
  • aliavd1 (Ali Vatandoost)
  • xiaoq898
  • Now-Shimmer
  • Jameshu0513
  • mengpromax (MengZhongYuan)
  • Leopard31415926
  • hongjr03 (Hong Jiarong)
  • juefeng
  • black-butler
  • Neugls
  • Leo012345678
  • a2659802
  • torotake
  • crush-wu
  • zhuyanhuazhuyanhua
  • shcabin

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

尚未有邦友留言

立即登入留言