GcExcel:比 Apache POI 速度更快、性能更高

GrapeCity Documents for Excel(GcExcel) 是一款服務端 Java Excel 組件,產品架構輕量靈活,無需 Office 組件依賴,結合 純前端表格控件 SpreadJS,在前端呈現 Excel 的數據可視化效果,實現類 Excel 的功能佈局、數據分析和交互;在服務端實現批量建立、加載、編輯、導入/導出大型 Excel 文檔,爲您的應用程序提供 Excel 全棧、全場景解決方案前端

image.png

GcExcel 對操做系統的支持java

image.png

GcExcel 對雲服務的支持git

image.png

GcExcel +SpreadJS 實現Excel 全棧解決方案github

與Java電子表格庫Apache POI相比,GcExcel速度更快、性能更高、內存消耗更少。本文將詳細比較Apache POI與GcExcel的功能和性能,並向您推薦使用GcExcel的12條主要緣由c#

主要功能對比

1. 公式數量api

GcExcel 支持 452 種 Excel 計算公式,而在 Apache POI 中,支持的公式數量僅有 157 - 280 種。安全

2. 導出 PDF架構

GcExcel 支持導出 PDF 格式,包括頁面設置選項、PDF 安全選項和文檔屬性, 而 Apache POI 不支持導出 PDF。ide

3. 條件格式函數

GcExcel 內置了更多條件格式規則,如自定義圖標集、高於平均值(AboveAverage)、發生日期、Top 10 和重複項,且這些條件格式與 VSTO 一致。而 Apache POI 不支持條件格式,須要使用標記爲內部用途的低級類。

4. 圖表類型

GcExcel 的圖表與 VSTO 一致,內置約 53 種圖表類型,包括全部較新的圖表,如箱形圖(boxshicker)、漏斗圖(Funnel)、直方圖(Histogram)、帕累託圖(Pareto)、旭日圖(Sunburst)和樹圖(Treemap),而 Apache POI 僅對條形圖、柱形圖、折線圖、雷達圖和散點圖提供有限的支持。

5. 迷你圖

GcExcel 支持迷你圖和迷你圖組,可在單元格中可視化數據,而 Apache POI 不支持迷你圖。

6. 剪切、複製、粘貼圖片和形狀

GcExcel 支持對形狀和圖片進行剪切、複製和粘貼,而 Apache POI 不支持對形狀或圖片執行剪貼板操做。

7. 數據過濾

GcExcel 支持應用高級過濾器,可對數字、文本、顏色、圖標執行過濾,而 Apache POI 僅提供基本過濾。

8. 排序

GcExcel 支持全部類型的行、列、值、多值、自定義、字體、顏色和圖標排序,而 Apache POI 沒有內置的排序支持。

9. 切片器

GcExcel 支持帶有表和透視表的切片器,提供內置切片器樣式和自定義切片器樣式,還提供了剪切、複製、篩選等操做,而 Apache POI 不支持切片器。

10. 導入導出 CSV

GcExcel 支持輕鬆地導入和導出 CSV,而 Apache POI 則不支持。

image.png

詳細功能對比表

性能對比

咱們經過一個測試項目,分別對比了 GcExcel 、Apache POI 和第三方組件的性能,結果以下所示:

  1. 獲取和保存 100,000 * 30 個單元格的 double / string / date 值,GcExcel 用時不超過 0.2S ;Apache POI 爲 18.7S 左右。

  2. 計算和保存 20,000 * 30 個單元格的公式,結果爲:GcExcel 用時不超過 1S ;Apache POI 爲 10S 左右。

3. 打開並保存一個 20.5MB 的 Excel 文件,該文件包含了大量數據、公式和單元格格式,結果以下:

  • GcExcel 用時不超過 4.9S ;Apache POI 則超過 10S
  • GcExcel 內存消耗爲 72.1MB;Apache POI 爲 3518.2MB
    image.png

性能對比數據

image.png

性能對比圖表

測試機配置

  • Linux:Intel i7-8700 @ 3.2 GHz x 12 32GB RAM / Ubuntu 18.04.4
  • MacOS:Intel i5 @ 2.6 GHz / MacOS Mojave v10.14.6
  • Windows:Intel i7-6600U @ 2.60 GHz 2.81 GHz 16GB RAM / Windows 10 x64 v1803(內部版本17134.1304)

測試版本

  • GrapeCity Documents for Excel 版本:3.1.0
  • Apache poi 版本:4.1.1

測試腳本

  • 從 GitHub 下載測試項目
  • 執行命令行(Mac): ./gradlew run --args="double" //參數能夠是 double, string, date, formula, bigfile
  • 執行命令行(Windows):gradlew run --args="double" //參數能夠是 double, string, date, formula, bigfile

推薦您使用GcExcel的12條主要緣由

1. 速度快、性能高

GCExcel 的平均速度是 Apache POI 的 7 倍,佔用的內存僅爲 1/7

2. VSTO 一致的條件格式

包括圖標集、高於平均值、發生日期、頂部/底部和重複/惟一值

3.  剪切、複製、粘貼圖片和形狀

支持對圖片或形狀執行剪切、複製、粘貼等剪貼板操做

4. 支持數據切片器

內置切片器樣式,可執行剪切、複製和篩選,支持自定義選項

5. 支持 452 種 Excel 公式

內置種類豐富的計算函數,支持自定義公式

6. 支持 53 種圖表類型

包括全部較新的圖表,如箱形圖、漏斗圖、直方圖、帕累託圖等

7. 支持應用高級過濾器

包括對數字、文本、顏色、圖標執行過濾

8. 導入和導出 CSV

GcExcel 支持導入和導出 CSV

9. 支持導出到 PDF

導出包括頁面設置選項、安全選項和文檔屬性

10. 支持迷你圖

GCExcel 支持迷你圖和迷你圖組,可在單元格中可視化數據

11. 多種排序支持

可按值、多值、字體顏色和圖標排序,支持自定義排序

12. 支持漸變填充

對於使單元格、形狀和圖表系列「突出」時很是有用

經過上述數據,可見 GcExcel在處理大型Excel文檔和複雜的計算公式時,比Apache POI和其餘同類產品的速度更快,佔用的內存也更少,與此同時,使用GcExcel,您還能夠經過 Java、c# 代碼徹底控制電子表格,在不須要 Office 組件依賴的狀況下,實現應用程序的組件化替代與雲端架構升級。

若是您須要瞭解更多GcExcel的功能特性,以及如何與SpreadJS 配合使用,實現Excel 全棧、全場景解決方案,請前往 GrapeCity Documents 產品官網。

相關文章
相關標籤/搜索