
Excelize 是 Go 語言編寫的用於操作 Office Excel 檔案基礎庫,基於 ECMA-376,ISO/IEC 29500 國際標準。可以使用它來讀取、寫入由 Microsoft Excel™ 2007 及以上版本創建的電子錶格檔案。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多種檔案格式,高度兼容帶有樣式、圖片(表)、樞紐分析表、切片器等複雜組件的檔案,並提供流式讀寫 API,用於處理包含大規模數據的活頁簿。可應用於各類報表平台、雲計算、邊緣計算等系統。
2026年2月25日,社區正式釋出了 2.10.1 版本,本次版本共有來自全球 29 位開發者參與貢獻,帶來 40 多項更新內容,包含新功能、錯誤修正以及效能優化等改進。下面是有關該版本更新內容的摘要,此版本中最顯著的變化包括:
兼容性提示
- 移除了 3 個導出的錯誤變量:
ErrStreamSetColStyle、ErrStreamSetColWidth 和 ErrStreamSetPanes
新增功能
- 新增
ChartDataPoint 資料類型
- 在
ChartSeries 資料類型中新增 DataPoint 字段
- 在
ChartAxis 資料類型中新增 DropLines 和 HighLowLines 字段
- 在
GraphicOptions 資料類型中新增 Name 字段
- 在
ChartSeries 資料類型中新增 DataPoint 字段
- 新增 2 個常量:
MaxGraphicAltTextLength 和 MaxGraphicNameLength
- 新增 7 個導出的錯誤變量:
ErrFillType、ErrFillGradientColor、ErrFillGradientShading、ErrFillPatternColor、ErrFillPattern、ErrMaxGraphicAltTextLength 和 ErrMaxGraphicNameLength
- 新增
GetHyperLinkCells 函式,支持獲取包含超鏈接的存儲格,相關 issue 1607
- 新增
GetSheetProtection 函式,支持獲取工作表保護設定
- 當向已存在批注的存儲格添加批注時,
AddComment 函式將返回錯誤
- 支持插入 ICO 格式圖片,相關 issue 2234
- 新增 2 項公式函式:SORTBY 和 UNIQUE
- 添加圖表時支持為圓環圖、餅圖和三維餅圖設定資料點色彩,相關 issue 1904
- 添加圖表時支持為東亞文字與複雜文字腳本設定字體
- 添加圖表時支持為面積圖和折線圖設定下垂線與高低線
- 獲取圖片時支持返回部分圖片格式屬性,相關 issue 2157
- 新增流式設定欄可見性功能,相關 issue 2075
- 新增流式設定欄的分級顯示功能,相關 issue 2212
- 添加圖形和添加交叉分析篩選器時,支持將圖形與交叉分析篩選器設定為單一存儲格錨定類型
- 獲取交叉分析篩選器時支持獲取單一存儲格錨定類型的交叉分析篩選器
- 支持設定與獲取「3 個三角形」、「3 顆星」和「5 個方框」類型的圖標集條件式格式,相關 issue 2038
- 刪除條件式格式和刪除資料驗證時,支持從一個大的存儲格範圍中刪除指定存儲格範圍內的條件式格式或資料驗證,而保留其餘存儲格範圍內的條件式格式或資料驗證
- 添加圖片時支持設定圖片的名稱
- 添加圖表或插入圖形時,支持為圖表或圖形設定名稱與替代文本
- 添加交叉分析篩選器時支持為交叉分析篩選器設定替代文本
- 支持校驗圖形名稱與替代文本的長度,當長度超過限制時將會返回錯誤
- 支持以 UTF-16 方式檢查並截斷文本長度
兼容性提升
- 保存活頁簿時將自動移除無效的空列,減少生成的活頁簿文件大小
問題修復
- 修復 v2.10.0 中引入的問題,解決
GetCellValue 與 GetRows 函式在某些情況下讀取空白存儲格時,錯誤地返回了共享字符串索引,相關 issue 2240
- 修復
GetPivotTables 函式在部分情況下獲取樞紐分析表時發生 panic 的問題
- 修復部分情況下,讀取帶有中文月份名稱數字格式的存儲格時,發生 panic 的問題,相關 issue 2224
- 修復部分情況下,打開帶有密碼保護的加密活頁簿時,發生 panic 的問題,相關 issue 2237
- 修復使用流式寫入器
SetRow 函式時,欄樣式缺失的問題
- 修復獲取圖片時,未包含部分存儲格圖片的問題
- 修復由淺色主題色彩索引溢出導致的,部分情況下生成的活頁簿損壞的問題
- 修復刪除資料驗證函式
DeleteDataValidation 在資料驗證存儲格範圍無序時,資料驗證存儲格範圍未被正確更新的問題
- 修復設定條件式格式函式
SetConditionalFormat 在設定部分帶有時間週期條件式格式規則時,生成的活頁簿損壞的問題
- 修復計算存儲格的值時,對帶有單引號的工作表名稱解析失敗,導致的存儲格公式計算結果有誤問題
- 修復使用默認字體或填充格式創建樣式時,重復創建樣式的問題,相關 issue 2254
性能優化
- 透過增加計算緩存並將處理範圍限定到實際資料區域,優化了公式計算引擎的性能,相關 issues 2057 和 2223
- 優化算帶有
VLOOKUP 函式的公式計算性能,內存分配與耗時最多降低約 50%,相關 issue 2139
- 優化了合併存儲格重疊範圍的檢查算法,降低了獲取合併存儲格函式
GetMergeCells 的內存分配和耗時,相關 issue 2226
- 透過使用連分數基本遞推公式轉換優化了帶有分數數字格式代碼的存儲格讀取速度
其他
- Go Modules 依賴模塊更新
- 單元測試與文檔更新
- 包含阿拉伯語、德語、英語、西班牙語、法語、意大利語、日語、韓語、葡萄牙語、俄語、簡體中文和繁體中文的多國語言文檔網站更新
- 支援 WebAssembly / JavaScript 的 excelize-wasm NPM 包發佈版本更新
- 支援 Python 的 excelize PyPI 包發佈版本更新
- 支援 C# 的 ExcelizeCs NuGet .Net 包發佈
致謝
感謝 Excelize 的所有貢獻者,以下是為此版本提交代碼的貢獻者列表:
- pjh591029530 (Simmons25)
- Sang-Hyuk (SangHyuk)
- wangacc
- kenny-not-dead (Roman Sergeev)
- pegasscience-cyber
- jesusfelix951-lang
- felixdevelopper-hue
- shcabin
- radam9
- sqdtss
- IvanHristov98 (Ivan Hristov)
- yasarluo (Yasar Luo)
- DengY11 (Yi Deng)
- Kingson4Wu (Kingson4Wu)
- zhuzhengyang (Zhu Zhengyang)
- schbook
- rhinewg
- jpoz (James Pozdena)
- sides-flow (Sides)
- t4traw (Tatsuro Moriyama)
- ijustyce (楊春)
- d9c4
- imirkin (Ilia Mirkin)
- atmngw (Atsuki)
- Flashcqxg
- olivere (Oliver Eilhard)
- susautw (Su, Rin)
- ohauer (Olli Hauer)
- yan00353-0729