Excelize 發(fā)布 2.4.1 版本,新增并發(fā)安全支持

Excelize 發(fā)布 2.4.1 版本,新增并發(fā)安全支持

Excelize 是 Go 語(yǔ)言編寫(xiě)的用于操作 Office Excel 文檔基礎(chǔ)庫(kù),基于 ECMA-376,ISO/IEC 29500 國(guó)際標(biāo)準(zhǔn)。可以使用它來(lái)讀取、寫(xiě)入由 Microsoft Excel? 2007 及以上版本創(chuàng)建的電子表格文檔。支持 XLSX / XLSM / XLTM 等多種文檔格式,高度兼容帶有樣式、圖片(表)、透視表、切片器等復(fù)雜組件的文檔,并提供流式讀寫(xiě) API,用于處理包含大規(guī)模數(shù)據(jù)的工作簿??蓱?yīng)用于各類(lèi)報(bào)表平臺(tái)、云計(jì)算、邊緣計(jì)算等系統(tǒng)。入選 2020 Gopher China - Go 領(lǐng)域明星開(kāi)源項(xiàng)目(GSP)、2018 年開(kāi)源中國(guó)碼云最有價(jià)值開(kāi)源項(xiàng)目 GVP (Gitee Most Valuable Project),目前已成為 Go 語(yǔ)言最受歡迎的 Excel 文檔基礎(chǔ)庫(kù)。

開(kāi)源代碼

GitHub: github.com/xuri/excelize

Gitee: gitee.com/xurime/excelize

中文文檔: xuri.me/excelize/zh-hans

2021年8月2日,社區(qū)正式發(fā)布了 2.4.1 版本,該版本包含了多項(xiàng)新增功能、錯(cuò)誤修復(fù)和兼容性提升優(yōu)化。下面是有關(guān)該版本更新內(nèi)容的摘要,完整的更改列表可查看 changelog。

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

兼容性提示

Go Modules 包引用地址調(diào)整為 github.com/xuri/excelize/v2

新增功能

  • 新增流式設(shè)置工作表列寬度支持,相關(guān) issue #625
  • 新增流式創(chuàng)建合并單元格支持,相關(guān) issue #826
  • 公式計(jì)算引擎新增 2 項(xiàng)公式函數(shù)支持: BESSELK, BESSELY
  • 公式計(jì)算引擎支持自定義名稱(chēng)引用,相關(guān) issue #856
  • 添加圖表時(shí)支持設(shè)置不顯示主要橫縱坐標(biāo)軸
  • 通過(guò) AddPivotTable 創(chuàng)建數(shù)據(jù)透視表支持通過(guò)自定義名稱(chēng)動(dòng)態(tài)引用數(shù)據(jù)源
  • 以下函數(shù)新增支持并發(fā)安全調(diào)用,相關(guān) issue #861
    • AddPictureGetPicture 并發(fā)插入/獲取圖片
    • RowsCols 并發(fā)行/列迭代
    • SetSheetRow 并發(fā)按行賦值
    • SetCellStyle 并發(fā)設(shè)置單元格樣式
    • NewStyle 并發(fā)創(chuàng)建樣式
  • 導(dǎo)出 24 個(gè)內(nèi)部異常消息

兼容性提升

  • 提升內(nèi)部默認(rèn) XML 命名空間兼容性,修復(fù)部分情況下生成文檔損壞的問(wèn)題
  • 兼容帶有非標(biāo)準(zhǔn)頁(yè)面布局屬性數(shù)據(jù)類(lèi)型的電子表格文檔,避免打開(kāi)失敗的問(wèn)題
  • 增加內(nèi)部共享字符表計(jì)數(shù)
  • 解除通過(guò)給定的時(shí)間設(shè)置單元格的值時(shí),需要協(xié)調(diào)世界時(shí) (UTC) 的限制,相關(guān) issue #409
  • 增加對(duì)內(nèi)部 XML 控制字符的兼容
  • 重命名導(dǎo)出字段 File.XLSXFile.Pkg
  • 修改 NewSheet, GetSheetIndex, DeleteSheet 對(duì)工作表名稱(chēng)大小寫(xiě)不敏感,相關(guān) issue #873
  • 修復(fù)條件格式與數(shù)據(jù)透視表的兼容性問(wèn)題,解決 issue #883
  • 改進(jìn)與頁(yè)面布局中無(wú)效的首頁(yè)編號(hào)屬性的兼容性
  • SetCellRichText 增加字符數(shù)上限檢查并修復(fù)保留字符丟失問(wèn)題

問(wèn)題修復(fù)

  • 修復(fù)部分情況下 12/24 制小時(shí)時(shí)間格式解析異常的問(wèn)題,解決 issue #823 和 issue #841
  • 修復(fù)部分情況下無(wú)法通過(guò) GetComments 獲取批注的問(wèn)題,解決 issue #825
  • 修復(fù)設(shè)置和獲取批注時(shí)支持多個(gè)批注作者,解決 issue #829 和 #830
  • 修復(fù)命名空間地址解析異常而產(chǎn)生重復(fù)命名空間,導(dǎo)致刪除再創(chuàng)建同名工作表后的生成文檔損壞問(wèn)題,解決 issue #834
  • 修復(fù)當(dāng)設(shè)置工作表分組默認(rèn)屬性 showOutlineSymbols、summaryBelowsummaryRightfalse 時(shí),設(shè)置失效的問(wèn)題
  • 修復(fù)部分情況下 GetRows 返回冗余工作表尾部空行的問(wèn)題,解決 issue #842
  • 修復(fù)部分情況下獲取獲取單元格的值時(shí),未返回帶有公式的空單元格的問(wèn)題,解決 issue #855
  • 修復(fù)部分情況下 IF 公式條件運(yùn)算錯(cuò)誤問(wèn)題,解決 issue #858
  • 修復(fù)通過(guò) GetRowHeight 獲取行高度錯(cuò)誤的問(wèn)題
  • 修復(fù)部分情況下因范圍解析異常導(dǎo)致獲取和刪除自定義名稱(chēng)錯(cuò)誤的問(wèn)題,解決 issue #879
  • 修復(fù)設(shè)置自定義名稱(chēng)時(shí)關(guān)聯(lián)工作表索引錯(cuò)誤的問(wèn)題
  • 修復(fù)設(shè)置列樣式時(shí)已有單元格樣式未被更新的問(wèn)題,解決 issue #467
  • 修復(fù)使用非法數(shù)據(jù)引用范圍創(chuàng)建數(shù)據(jù)透視表時(shí)導(dǎo)致的潛在 panic 的問(wèn)題
  • 修復(fù)部分情況下讀取數(shù)字精度異常的問(wèn)題,解決 issue #848 和 #852
  • 修復(fù)設(shè)置數(shù)據(jù)驗(yàn)證規(guī)則時(shí),部分情況下因未進(jìn)行 XML 字符轉(zhuǎn)義處理導(dǎo)致生成文檔損壞的問(wèn)題,解決 issue #971
  • 修復(fù)設(shè)置數(shù)據(jù)驗(yàn)證規(guī)則長(zhǎng)度校驗(yàn)不準(zhǔn)確問(wèn)題,解決 issue #972
  • 修復(fù)由時(shí)間解析異常導(dǎo)致的,部分情況下讀取帶有時(shí)間或日期數(shù)字格式單元格時(shí) CPU 資源占用率過(guò)高問(wèn)題,解決 issue #974
  • 修復(fù)部分情況下,當(dāng)自定義數(shù)字格式為日期時(shí),月份解析失敗的問(wèn)題

性能優(yōu)化

  • 通過(guò) Save 保存或 SaveAs 另存文檔時(shí)的內(nèi)占用降低約 19%

其他

  • 修復(fù)潛在的代碼安全問(wèn)題 CWE-190 和 CWE-681
  • Go Modules 依賴(lài)模塊更新
  • 單元測(cè)試與文檔更新
  • 持續(xù)集成服務(wù)改用 GitHub Action
  • 包含簡(jiǎn)體中文、英語(yǔ)、法語(yǔ)、俄語(yǔ)、日語(yǔ)、韓語(yǔ)、阿拉伯語(yǔ)、德語(yǔ)和西班牙語(yǔ)的多國(guó)語(yǔ)言文檔網(wǎng)站更新
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容