sponsored links

Excelize 2.5.0 正式釋出,這些更新值得關注

Excelize 2.5.0 正式釋出,這些更新值得關注

Excelize 是 Go 語言編寫的用於操作 Office Excel 文件基礎庫,基於 ECMA-376,ISO/IEC 29500 國際標準。可以使用它來讀取、寫入由 Microsoft Excel 2007 及以上版本建立的電子表格文件。支援 XLSX / XLSM / XLTM 等多種文件格式,高度相容帶有樣式、圖片(表)、透視表、切片器等複雜元件的文件,並提供流式讀寫 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

2022年1月3日,社群正式釋出了 2.5.0 版本,該版本包含了多項新增功能、錯誤修復和相容性提升最佳化。下面是有關該版本更新內容的摘要,完整的更改列表可檢視 changelog。

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

相容性提示

  • 開啟已有工作簿或在獲取行迭代器後,需要呼叫對應的 Close 函式關閉工作簿和資料流
  • 修改 ReadZipReader 為 File 的實現, 支援透過選項指定解壓至記憶體或檔案系統
  • 移除了不必要的匯出變數 XMLHeader,可使用 encoding/xml 包的 xml.Header 代替
  • 移除了不再使用的匯出變數 ErrToExcelTime

新增功能

  • 新增 API: SetRowStyle 支援設定整行樣式, 相關 issue #990
  • 新增 API: GetCellType 支援獲取單元格資料型別, 相關 issue #417 和 #520
  • 新增 API: SetAppProps 和 GetAppProps 支援設定與獲取工作簿應用程式屬性, 相關 issue #1095
  • GetCellValue, GetRows, GetCols, Rows 和 Cols 支援指定是否讀取單元格原始值而不應用數字格式表示式, 相關 issue #621
  • 新增 95 項公式函式: ACCRINT, ACCRINTM, ADDRESS, AMORDEGRC, AMORLINC, AVEDEV, AVERAGEIF, CHIDIST, CONFIDENCE, CONFIDENCE.NORM, COUNTIF, COUNTIFS, COUPDAYBS, COUPDAYS, COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, DATEVALUE, DAY, DAYS, DELTA, DEVSQ, DISC, DURATION, ERF, ERF.PRECISE, ERFC, ERFC.PRECISE, GEOMEAN, GESTEP, IFNA, IFS, INDEX, INTRATE, ISFORMULA, ISLOGICAL, ISREF, ISOWEEKNUM, MATCH, MAXA, MAXIFS, MDURATION, MINIFS, MINUTE, MONTH, ODDFPRICE, PERCENTILE.EXC, PERCENTRANK.EXC, PERCENTRANK.INC, PERCENTRANK, PRICE, PRICEDISC, PRICEMAT, PV, QUARTILE.EXC, RANK, RANK.EQ, RATE, RECEIVED, RRI, SHEETS, SLN, STANDARDIZE, STDEV.P, STDEVP, SWITCH, SYD, TBILLEQ, TBILLPRICE, TBILLYIELD, TEXTJOIN, TIME, TRANSPOSE, TRIMMEAN, VALUE, VAR, VAR.S, VARA, VARPA, VDB, WEEKDAY, WEIBULL, WEIBULL.DIST, XIRR, XLOOKUP, XNPV, XOR, YEAR, YEARFRAC, YIELD, YIELDDISC, YIELDMAT, Z.TEST, ZTEST, 相關 issue #65 和 #1002
  • 公式計算引擎支援巢狀 IF 函式, 相關 issue #987
  • 公式計算引擎支援共享公式, 相關 issue #844
  • 公式計算引擎支援文字比較運算, 相關 issue #998
  • 支援在資料驗證中使用公式, 相關 issue #1012
  • 支援文件壓縮比限制,避免潛在的安全風險
  • SetCellFormula 支援設定共享公式
  • UpdateLinkedValue 在清除單元格計算快取時將跳過 macro sheet, 相關 issue #1014
  • 修復部分情況下,由於內部依賴關係計算錯誤導致的 AddPicture 重複建立圖片的問題, 相關 issue #1017
  • AddShape 支援設定形狀輪廓線條寬度, 相關 issue #262
  • 新增文件開啟選項 UnzipXMLSizeLimit 以支援指定開啟每個工作表以及共享字元表時的記憶體解壓上限
  • 建立樣式時,若給定的自定義數字格式無效,將返回錯誤提示,相關 issue #1028
  • 流式寫入現已支援設定行樣式
  • 流式寫入器將為時間型別單元格建立時間數字格式樣式,相關 issue #1107
  • 支援設定資料透視表報表佈局“以壓縮形式顯示”或“以大綱形式顯示”, 相關 issue #1029
  • 行/列迭代器支援獲取當前行/列序號和行/列總數, 相關 issue #1054
  • 使用 time.Time 型別引數進行單元格賦值時,支援時區位置, 相關 issue #1069
  • 新增匯出 7 項錯誤資訊,以便開發者可根據不同的錯誤型別進行採取相應處理

相容性提升

  • 提升與內部帶有 r="0" 屬性工作表的相容性
  • 保留 XML 控制字元
  • 提升樣式設定與 Apple Numbers 的相容性, 相關 issue #1059
  • 頁首頁尾字元數限制相容多位元組字元, 相關 issue #1061
  • 設定單元格時將保留水平製表符, 相關 issue #1108

問題修復

  • 修復部分情況下刪除資料驗證失敗的問題, 解決 issue #979
  • 修復部分情況下設定資料驗證下拉列表失敗的問題, 解決 issue #986
  • 修復公式計算引擎 LOOKUP 函式部分情況下計算結果錯誤的問題, 解決 issue #994
  • 修復公式計算引擎 LOOKUP 僅支援完全匹配的問題, 解決 issue #997
  • 修復公式計算引擎百分比計算錯誤的問題, 解決 issue #993
  • 修復特定情況下單元格讀取異常導致的 panic
  • 修復設定“後 N 項”條件格式失敗的問題
  • 修復部分情況下時間解析錯誤的問題, 解決 issue #1026 和 #1030
  • 修復科學記數法數字格式的單元格值解析異常的問題,解決 issue #1027
  • 修復部分情況下浮點型資料讀取異常的問題,解決 issue #1031
  • 修復部分情況下刪除工作表失敗的問題
  • 修復內建時間數字格式解析異常問題,解決 issue #1060
  • 修復部分情況下新建樣式時返回樣式 ID 異常的問題
  • 修復部分情況下刪除行列後合併單元格區域異常的問題

效能最佳化

  • 合併單元格效能大幅提升,耗時降低 90%
  • 提高流式讀取效能,當內部 XML 較大時,將共享字串表解壓縮到系統臨時檔案,記憶體使用量減少約 60%, 相關 issue #109
  • 最佳化讀取工作表列表效能
  • 最佳化設定列樣式儲存,縮小生成的文件體積,解決 issue #1057

其他

  • Go Modules 依賴模組更新
  • 單元測試與文件更新
  • 包含簡體中文、英語、法語、俄語、日語、韓語、阿拉伯語、德語和西班牙語的多國語言文件網站更新
分類: 歷史
時間: 2022-01-03

相關文章

中美之間到底會不會爆發戰爭?基辛格用一戰警告,中國已明確攤牌

中美之間到底會不會爆發戰爭?基辛格用一戰警告,中國已明確攤牌
在此前2021年中美髮展高層論壇上,已經97歲的基辛格表達了自己對中美關係上的擔憂.他認為如果中美不能就全球新秩序達成諒解,那麼現在的局勢就會像第一次世界大戰前的狀況,會在某個臨界點失控,並且他還認為 ...

同為30萬元7座SUV,攬境和新款漢蘭達到底選誰好?

同為30萬元7座SUV,攬境和新款漢蘭達到底選誰好?
既然阻擊燃油版漢蘭達的任務交給了途昂,那麼阻擊第四代漢蘭達的任務就落到了一汽大眾攬境頭上.攬境於6月24日上市,價格區間是29.99-39.99萬元,而第四代漢蘭達則於6月25日上市,價格區間為26. ...

《老子》:在“有無之間”思考

《老子》:在“有無之間”思考
<老子註譯及評介> 陳鼓應著 中華書局出版 一部經典講的就是一個道理.在王弼看來, <老子>(又名<道德經>)講的道理可以用"崇本息末"四個字來 ...

商務車之間的鬥爭,五菱征程VS風行菱智,誰是老百姓最愛?

商務車之間的鬥爭,五菱征程VS風行菱智,誰是老百姓最愛?
不可否認,國產老牌汽車品牌在商用車領域,顯然有著絕對的話語權.尤其是以東風和五菱為代表的"人民車企",它們旗下就有不少備受老百姓歡迎的產品,不過,兩者之間到底誰更受老百姓歡迎,這個 ...

中俄合作再次升溫,俄羅斯拒絕歐美國家拉攏,決心和中國站在一起

中俄合作再次升溫,俄羅斯拒絕歐美國家拉攏,決心和中國站在一起
一直以來,美國和俄羅斯的關係就非常的微妙,時常互相威懾,但是又經常進行合作,很顯然,雙方只是在某些看待問題的角度上面有一些摩擦,但是卻並沒有觸及到對方的底線,所以依舊能夠保持表面上的風平浪靜,但是隨著 ...

中美到底是戰是和?67歲老布什之子出面了,說了句拜登不愛聽的話

中美到底是戰是和?67歲老布什之子出面了,說了句拜登不愛聽的話
中美到底是戰是和?67歲老布什之子出面了,說了句拜登不愛聽的話 中美之間的衝突,一直是國際社會上比較關注的問題.而關於中美之間到底會打還是會和,也是外界十分關心的,對其他國家來說這也是一個謎題.現在也 ...

2017年豬哥亮去世,女兒謝金燕與他決裂20年,這對父女到底有啥仇

2017年豬哥亮去世,女兒謝金燕與他決裂20年,這對父女到底有啥仇
豬哥亮是臺灣著名的綜藝老大哥,在事業上,他可以說大獲成功,但其混亂不堪的私生活,卻令人十分咋舌. 其中二女兒謝金燕與他牽扯最深,兩人是親生父女,本應心靈相通.互相關愛,但他們卻決裂了20年. 豬哥亮與 ...

1902年,日本210人進雪山,3天后僅11人存活,倖存者說出噩夢歷程

1902年,日本210人進雪山,3天后僅11人存活,倖存者說出噩夢歷程
1902年1月底,由陸軍第八師團一連隊組成的搜救隊,在距離日本青森縣八甲田山,發現了一名日軍士官. 他被發現的時候渾身被覆蓋了一層厚厚的積雪,整個人如同一座雕像般矗立在積雪中,神情恍惚,嘴裡不停地念叨 ...

絕不讓中國孤軍奮戰!28國聯手對中國發難之際,拉夫羅夫挺身而出

絕不讓中國孤軍奮戰!28國聯手對中國發難之際,拉夫羅夫挺身而出
絕不讓中國孤軍奮戰!28國聯手對中國發難之際,拉夫羅夫挺身而出. 世界如棋局局新,隨著美國從阿富汗撤軍所引發的動盪逐漸傳導至全球各地,國際局勢也是愈發的複雜.就在美國不斷把矛頭對準中國,在中國周邊組團 ...

拳打烏克蘭、腳踢土耳其,俄羅斯憑什麼吃定黑海?

拳打烏克蘭、腳踢土耳其,俄羅斯憑什麼吃定黑海?
王光之/一個有腔調的人文類解讀頭條號 黑海亂不亂,俄國說了算 娜塔莉亞,1980年出生,原克里米亞檢察官,2014年入俄後,加入了俄羅斯國家杜馬,少將軍銜 在俄羅斯.烏克蘭.保加利亞.羅馬尼亞.喬治亞 ...

麻煩不斷!9月23日,土耳其叫板俄羅斯,拜登民調下降,杜特爾特在聯合國大會上怒了

麻煩不斷!9月23日,土耳其叫板俄羅斯,拜登民調下降,杜特爾特在聯合國大會上怒了
一波未平一波又起,在全球經濟一體化的當下,利益才是國與國之間試金石,特別是西方國家之間沒有永恆的朋友,只有永恆的利益. 一.土耳其叫板俄羅斯 克里米亞問題一直是俄羅斯與烏克蘭難以化解的核心矛盾,而作為 ...

沒點大病,看不懂《新網球王子》

沒點大病,看不懂《新網球王子》
加鹽 | 文 十來天前,咱們聊過博人傳漸漸可燃的事,記得當時cue了柯南和網球王子,柯南吐槽過了,我想著,什麼時候找個機會聊下網球王子. 結果擇日不如撞日,新鮮素材送上了門. 最新的幾話漫畫裡,被大夥 ...

劉維寧曾無奈敘述事實:劉少奇長孫的身份,有時對我是一種負擔

劉維寧曾無奈敘述事實:劉少奇長孫的身份,有時對我是一種負擔
2003年,身在俄羅斯的阿廖沙熟練地從抽屜裡,拿出一張已經有些微微泛黃的老照片,仔仔細細地看著.他已經記不清這是第幾次看這張照片了. 照片中,有一位慈眉善目的老人,正抱著一個剛剛滿5歲的小男孩,臉上留 ...

10月12日,世界發生3件事,普京給歐盟送“大禮”,駐韓美軍打人

10月12日,世界發生3件事,普京給歐盟送“大禮”,駐韓美軍打人
世事如棋局,這句話真沒說錯,很多時候,盟友與對手的轉換,就在頃刻之間. 10月12日,世界又發生了3件意味深長的事,頗值得玩味. 第一件事,致電馬克龍與默克爾之後,普京給歐盟送上"大禮&qu ...

孕吐和孩子智商有關?有孕吐和沒孕吐,出生的孩子有什麼不同?

孕吐和孩子智商有關?有孕吐和沒孕吐,出生的孩子有什麼不同?
孕吐對大部分媽媽來講都非常熟悉,統計發現高達80%的孕媽媽都有不同程度的噁心嘔吐.有個說法是,孩子的智商與孕吐有關係.是不是真的呢?有孕吐和沒孕吐的媽媽,生下來的孩子有什麼不同嗎?今天來聊聊. 01. ...

每天一杯蜂蜜水 會不會得糖尿病?蜂蜜是蜜蜂的嘔吐物嗎?答案在這裡

每天一杯蜂蜜水 會不會得糖尿病?蜂蜜是蜜蜂的嘔吐物嗎?答案在這裡
昨天,都市快報官報紙及微推送了一篇報道,杭州34歲的IT工程師常先生(化名)工作繁忙,吃飯.作息不規律,媽媽心疼他,便在每天兒子回家時都端上一杯泡得濃濃的蜂蜜水,給他"補身體".此 ...

相聲天才洛桑:27歲爆紅時去世,一張欠條被郭德綱保留26年

相聲天才洛桑:27歲爆紅時去世,一張欠條被郭德綱保留26年
90年代,幾乎全國人民都知道一個來自藏族的小夥--洛桑, 他憑藉著超強的模仿能力和口技功夫驚豔眾人. 然而,在洛桑大紅大紫的時候,生命卻永遠定格在了27歲, 而洛桑曾經的一張欠條被郭德綱儲存至今, 郭 ...

iPhone13ProMax,太令人沮喪了!華為P50Pro,再次祝賀了

iPhone13ProMax,太令人沮喪了!華為P50Pro,再次祝賀了
3C毒物獨家報道:華為P50Pro釋出之後,由於不支援5G網路,所以很多消費者都表示不值得購買,寧願等待iPhone13ProMax.現在iPhone13ProMax已經發布,那麼作為曾經的宿敵,iP ...

俞惠如:丈夫是開國中將,一生養育12個兒女,總理稱她是航空母艦

俞惠如:丈夫是開國中將,一生養育12個兒女,總理稱她是航空母艦
當站在正在經歷戰爭的土地上的時候,隨處散發著的是濃濃的血腥味,耳朵裡都是失去親人.朋友,愛人撕心裂肺的哭聲,眼裡盡是看不到曙光的空洞. 但是就是在這樣殘酷的世界裡,親人之間的溫情.愛人之間的朦朧純美卻 ...

柳暗花明!排協主動向郎平示好,中國女排選帥或再次出現轉機

柳暗花明!排協主動向郎平示好,中國女排選帥或再次出現轉機
中國女排前主教練郎平指導宣佈正式離開中國女排國家隊時,曾在喜歡中國女排的球迷中掀起不小的波瀾.雖然中國女排在東京奧運會上沒有取得大家期待的好成績,對此很多球迷都會心有不甘,當下也會對郎導有些許的不滿. ...