
Excelize 是 Go 語言撰寫的用于操作 Office Excel 檔案基礎庫,基于 ECMA-376,ISO/IEC 29500 國際標準,可以使用它來讀取、寫入由 Microsoft Excel? 2007 及以上版本創建的電子表格檔案,支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多種檔案格式,高度兼容帶有樣式、圖片(表)、透視表、切片器等復雜組件的檔案,并提供流式讀寫 API,用于處理包含大規模資料的作業簿,可應用于各類報表平臺、云計算、邊緣計算等系統,入選 2020 Gopher China - Go 領域明星開源專案(GSP)、2018 年開源中國碼云最有價值開源專案 GVP (Gitee Most Valuable Project),目前已成為 Go 語言最受歡迎的 Excel 檔案基礎庫,
開源代碼
GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
中文檔案: xuri.me/excelize/zh-hans
2023年4月10日,社區正式發布了 2.7.1 版本,該版本包含了多項新增功能、錯誤修復和兼容性提升優化,下面是有關該版本更新內容的摘要,完整的更改串列可查看 changelog,
此版本中最顯著的變化包括:
兼容性提示
- 移除了
ChartLine資料型別中的Color欄位 - 使用
RichTextRun資料型別代替ShapeParagraph - 使用
Fill代替Shape資料型別中的Color欄位 - 移除了已匯出的資料型別
AutoFilterListOptions - 將資料型別
TableOptions重命名為Table - 添加圖表函式
AddChart改為使用ChartType型別列舉值指定圖表型別 - 修改了 7 個函式的簽名,具體更改詳見官方檔案中的更新說明
新增功能
- 新增函式
SetSheetDimension與GetSheetDimension以支持設定與獲取作業表已用區域,相關 issue #1463 - 創建樣式函式
NewStyle現已支持 17 種漸變填充樣式 - 增加創建樣式數量上限至 65430
- 通過
AddPicture添加圖片時,現已允許插入 BMP 格式圖片 - 函式
GetPictures支持讀取被添加至同一單元格中的多張圖片 - 設定條件格式函式
SetConditionalFormat支持設定帶有“如果為真則停止”和“圖示集”條件的條件格式規則 - 設定條件格式函式
SetConditionalFormat支持設定在條件格式中使用帶有純色填充樣式的資料條,并支持指定資料條的顏色,相關 issue #1462 - 添加圖表函式
AddChart支持設定圖表中各個資料系列使用自定義填充顏色,相關 issue #1474 - 添加圖表函式
AddChart支持設定氣泡圖圖表中各個系列氣泡的大小 - 添加圖表函式
AddChart支持設定子母餅圖和復合條餅圖中第二繪圖區域的資料系列 - 添加圖表函式
AddChart支持為圖表中資料標簽設定自定義數字格式,相關 issue #1499 - 創建表格函式
AddTable支持在創建表格時指定是否包含標題行 - 創建表格函式
AddTable創建表格時增加對表格名稱的校驗,并匯出了錯誤常量ErrTableNameLength,相關 issue #1468 - 函式
AutoFilter支持為篩選范圍內的多個列設定篩選條件 - 計算單元格的值函式
CalcCellValue現已支持指定是否為公式計算結果應用數字格式 - 計算單元格的值函式
CalcCellValue對于以下公式函式加入了雙位元組字符的支持:LEFT, LEN, LENB, MID, MIDB, RIGHT 和 RIGHTB,相關 issue #1476 - 計算單元格的值函式
CalcCellValue函式對于存在錯誤的公式將在計算結果中回傳公式錯誤代碼,并將詳細錯誤資訊在 error 資料型別的回傳值中回傳,相關 issue #1490 - 對輸入圖片檔案的擴展名調整為大小寫不敏感,相關 issue #1503
- 使用流式寫入器流式按行賦值時,對于值為 nil 的單元格將會跳過生成該單元格,相關 issue #756
- 獲取超鏈接
GetCellHyperLink函式支持讀取合并單元格中的超鏈接 - 添加了新的匯出型別
ChartType以表示圖表型別列舉
兼容性提升
- 兼容帶有函陣列的作業簿
- 兼容帶有嚴格模式 XML 命名空間地址的作業簿主題,相關 issue #1447
- 提高了與檔案內部不含作業簿關系部件作業簿的兼容性,以修復打開此類作業簿可能出現的 panic
問題修復
- 修復了特定情況下讀取日期時間型別單元格的值存在精度誤差的問題
- 修復了特定情況下當修改原本存盤了日期時間型別的單元格為文本型別值,修改后單元格資料型別有誤的問題,解決 issue #1464
- 修復了部分情況下公式計算結果為空的問題,解決 issue #1469
- 修復了設定資料條型別條件格式時,指定自定義最大/最小值無效的問題,解決 issue #1492
- 修復了打開行高或列寬為 0 的作業表,保存后行高列寬設定失效的問題,解決 issue #1461
- 提高了讀取帶有空白字符共享字串表索引值的兼容性,解決 issue #1508
性能優化
- 提高了應用帶有自定義月份數字格式的速度,相關 issue #1455
- 大幅提高了對于帶有合并單元格作業表的處理速度,相關 issue #1448
其他
- Go Excelize 提供了支持 WebAssembly / Javascript 環境的 excelize-wasm NPM 包
- Go Modules 依賴模塊更新
- 單元測驗與檔案更新
- 優化內部變數與函式命名
- 包含簡體中文、英語、法語、俄語、日語、韓語、阿拉伯語、德語和西班牙語的多國語言檔案網站更新
致謝
感謝 Excelize 的所有貢獻者,以下是為此版本提交代碼的貢獻者串列:
- liron-l (Liron Levin)
- nathj07 (Nathan Davies)
- Josh-Weston (Josh Weston)
- jaby
- FlowingSPDG (Shugo Kawamura)
- barismar (Baris Mar Aziz)
- doingNobb (張濤)
- rpoetrap (Rizki Putra)
- huangshaokun
- CHANTXU64 (ChantXu64)
- playGitboy
出處:https://www.cnblogs.com/xuri
本作品由 Ri Xu 創作,采用知識共享署名-非商業性使用-禁止演繹 2.5 中國大陸許可協議進行許可, 歡迎轉載,但任何轉載必須保留完整文章,在顯要地方顯示署名以及原文鏈接,如您有任何疑問或者授權方面的協商,請 給我留言,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/549625.html
標籤:其他
