Excelize v2.9.1
《Excelize 權威指南》圖書出版,網路購買方式:人民郵電出版社 | 異步社區 | 天貓 | 京東 | 當當 | 亞馬遜 | 微店 | 抖音
- 釋出日期: 2025年5月13日
- GitHub Release: https://github.com/xuri/excelize/releases/tag/v2.9.1
版本說明
此版本中最顯著的變化包括:
相容性提示
- 升級 Go 語言版本要求至 1.23 或更高版本,以升級依賴包
golang.org/x/crypto
- 將
DataValidationType
、DataValidationErrorStyle
、DataValidationOperator
、PictureInsertType
的資料類型由int
變更為byte
- 函式
SetCellInt
的形參類型改為int64
,解決 issue #2068 - 添加圖片、圖表、形狀和表單控制項等繪圖對象時,偏移設定將不再影響繪圖對象的尺寸,解決 issue #2001
新增功能
- 在
Chart
資料類型中新增GapWidth
和Overlap
字段 - 在
ChartPlotArea
資料類型中新增ShowDataTable
和ShowDataTableKeys
字段 - 在
ChartAxis
資料類型中新增Alignment
字段 - 在
ChartSeries
資料類型中新增DataLabel
字段 - 在
PageLayoutOptions
資料類型中新增PageOrder
字段 - 新增 2 項錯誤變數:
ErrPageSetupAdjustTo
和ErrStreamSetColStyle
- 新增 2 項枚舉類型:
HeaderFooterImagePositionType
和IgnoredErrorsType
- 新增 2 項資料類型:
CalcPropsOptions
和HeaderFooterImageOptions
- 新增 2 項函式
SetCalcProps
和GetCalcProps
支援設定和獲取活頁簿計算屬性 - 新增
CultureNameJaJP
、CultureNameKoKR
和CultureNameZhTW
枚舉值,支援帶有日本年號、韓國檀君紀元(檀紀)和民國紀年數字格式的存儲格,相關 issue #1885 - 新增
AddHeaderFooterImage
函式,支援在頁眉和頁腳中設定圖片,相關 issue #1395 - 新增
AddIgnoredErrors
函式,支援忽略特定存儲格範圍內的錯誤,相關 issue #2046 - 新增
SetColStyle
函式,支援流式寫入時設定欄樣式,相關 issue #2075 - 函式
AddChart
和AddChartSheet
支援設定圖表坐標軸文本方向和旋轉角度,相關 issue #2025 - 函式
AddChart
和AddChartSheet
支援設定柱狀圖和條形圖的間隙寬度和重疊程度,相關 issue #2033 - 函式
AddChart
和AddChartSheet
支援設定資料系列標籤的格式,相關 issue #2052 - 函式
AddChart
和AddChartSheet
支援設定位於圖表繪圖區域下方的資料表,相關 issue #2117 - 函式
AddFormControl
函數支援為復選框類型的表單控件設定單元格超鏈接,相關 issue #2113 - 函式
SetPageLayout
支援設定頁面佈局的頁面順序 - 函式
DeletePicture
支援刪除帶有單一存儲格錨定類型的圖片,相關 issue #2059 - 函式
SetPageLayout
增加了對選項參數的檢查,如果給定的選項值無效,將返回錯誤提示信息 - 支援跨多個工作表調整資料驗證,相關 issue #2072
- 支援應用帶
#
號和零佔位符的數字格式,相關 issue #2058 - 支援應用帶
?
符號的數字格式 - 支援透過指定 "oneCell" 定位類型添加帶有單一存儲格錨定類型的繪圖對象,相關 issue #2002
問題修復
- 修復 v2.9.0 中引入的問題,修改由流式寫入生成的活頁簿後,打開後提示檔案損壞問題,解決 issue #2015
- 修復部分情況下生成重復的「無填充」格式問題,解決 issue #2014
- 修復部分情況下存儲格垂直或水平邊框樣式丟失問題,解決 issue #2048
- 修復部分情況下條件格式邊框樣式丟失的問題,解決 issue #2061
- 修復部分情況下獲取樞紐分析表時出現 panic 的問題,解決 issue #1954 和 #2051
- 修復
GetStyle
函式無法獲取VertAlign
格式的問題 - 修復
CalcCellValue
函式在部分情況下子表達式計算錯誤的問題,解決 issue #2083 - 修復部分情況下因圖片引用檢查有誤導致的錯誤刪除圖片問題
- 修復流式寫入時,非零列樣式 ID 未覆蓋默認存儲格樣式的問題
- 修復流式寫入時,部分情況下將在活頁簿內部生成重復的
col
XML 元素問題 - 修復部分情況下設定圖表標題字體時出現的 panic 問題,解決 issue #2102
- 修復部分情況下刪除公式計算鏈時出現的 panic 問題
- 修復因共享公式解析錯誤導致的公式計算結果有誤問題,解決 issue #2056
- 修復當活頁簿內部包含大於 4GB 的部件時,生成的 ZIP64 格式檔案損壞問題
- 修復當部分情況下重命名工作表時,自定義名稱中的工作表名稱更新有誤的問題,解決 issue #2126
性能優化
- 使用深拷貝庫
github.com/tiendc/go-deepcopy
代替github.com/mohae/deepcopy
,深度拷貝速度提升 3 倍,相關 issue #2029 - 修復 v2.9.0 中引入的問題,避免對空白存儲格的值進行修剪以降低記憶體分配
- 提高公式計算引擎對帶有整列或整欄存儲格引用公式的計算速度
- 行迭代器讀取速度最高提升約 20%,記憶體分配降低約 10%
其他
- Go Modules 依賴模塊更新
- 單元測試與文檔更新
- 包含阿拉伯語、德語、英語、西班牙語、法語、意大利語、日語、韓語、葡萄牙語、俄語、簡體中文和繁體中文的多國語言文檔網站更新
- 支援 WebAssembly / JavaScript 的 excelize-wasm NPM 包發佈版本更新
- 支援 Python 的 excelize PyPI 包發佈版本更新
致謝
感謝 Excelize 的所有貢獻者,以下是為此版本提交代碼的貢獻者列表:
- @wushiling50
- @imirkin (Ilia Mirkin)
- @Juneezee (Eng Zer Jun)
- @Arpelicy
- @zhuhaicity (ZhuHaiCheng)
- @xxf0512 (xxf)
- @gypsy1234
- @mengpromax (MengZhongYuan)
- @hly-717
- @kurtinge (Kurt Inge Smådal)
- @IvanHristov98 (Ivan Hristov)
- @artur-chopikian (Artur Chopikian)
- @romanshevelev (Roman Shevelev)
- @LZCZ
- @hm3248
- @moisespsena (Moises P. Sena)
- @paolobarbolini (Paolo Barbolini)
- @timesince
- @shcabin
- @tgulacsi (Tamás Gulácsi)
- @R3dByt3 (R3dByt3)
- @Now-Shimmer