與 NPOI 在功能和性能上的對比測試
該頁展示了 GrapeCity Documents for Excel(GcExcel) 與 NPOI 和第三方表格組件在功能和性能上的對比測試,作為一款支持 Java 和 .NET 平臺的服務端表格組件,GcExcel 無論從運行速度、功能,還是內存消耗等方面,都要比 NPOI 表現的更為優秀。
功能對比
條件格式
GcExcel 內置了更多條件格式規則,如自定義圖標集、高于平均值(AboveAverage)、發生日期、Top 10 和重復項,且這些條件格式與 VSTO 一致。而 NPOI 不支持條件格式,需要使用標記為內部用途的低級類。
圖表類型
GcExcel 的圖表與 VSTO 一致,內置約 53 種圖表類型,包括所有較新的圖表,如箱形圖(boxshicker)、漏斗圖(Funnel)、直方圖(Histogram)、帕累托圖(Pareto)、旭日圖(Sunburst)和樹圖(Treemap),而Apache NPOI 僅對條形圖、柱形圖、折線圖、雷達圖和散點圖提供有限的支持。
切片器
GcExcel 支持帶有表和透視表的切片器,提供內置切片器樣式和自定義切片器樣式,還提供了剪切、復制、篩選等操作,而 NPOI 不支持切片器。
示例與文檔數量
GcExcel 作為一款企業級組件,提供了大量在線演示示例,開發人員可以快速上手,迅速投入使用,而 NPOI 提供的示例和文檔數量十分有限,對于開發人員來說學習成本較高。
詳細功能對比表:
性能對比
我們通過一個測試項目,分別對比了 GcExcel 、NPOI 和第三方表格組件的性能,結果如下所示:
1. 獲取和保存 100, 000 * 30 個單元格的 double / string / date 值,GcExcel 用時不超過 0.1 秒;NPOI 為 8 秒左右。
2. 計算和保存 20, 000 * 30 個單元格的公式,結果為:GcExcel 用時不超過 1 秒;NPOI 至少需要 300 秒。
3. 打開并保存一個含有大量計算公式、樣式和單元格數據的 Excel 文件,結果如下:
- GcExcel 用時不超過 3 秒;NPOI 則需要 20 秒
- GcExcel 內存消耗為 38 MB;而 NPOI 的內存消耗高達 800 MB
詳細數據如下表:
測試機配置
- Windows:Intel i7-105100U @ 1.8GHz 16GB RAM / Windows 10 x64 v20H2(內部版本 19042.685)
測試版本
- GrapeCity Documents for Excel 版本:4.0.0
- NPOI 版本:2.5.1
測試腳本
- 從 GitHub?下載測試項目
- 還原 Nuget 包
- 執行程序
為什么選擇 GcExcel?
-
速度快、性能高
GcExcel 的平均速度是 NPOI 的 7 倍,占用的內存僅為 1/7
-
與 VSTO 一致的條件格式
可使用與 Office 完全相同的文檔對象模型
-
剪切、復制、粘貼圖片和形狀
支持對圖片或形狀執行剪切、復制、粘貼等剪貼板操作
-
支持數據切片器
內置切片器樣式,可執行剪切、復制和篩選,支持自定義選項
-
支持 450 多種 Excel 公式
內置種類豐富的計算函數,支持自定義公式
-
支持 53 種圖表類型
提供更加專業的圖表,如箱形圖、漏斗圖、直方圖、帕累托圖
-
支持應用高級過濾器
包括對數字、文本、顏色、圖標執行過濾
-
導入和導出 CSV
可明顯提高文件的傳輸速度和讀取效率
-
批量打印
可將 Excel 表單導出為 PDF(確保格式不變),實現批量打印
-
支持迷你圖
GcExcel 支持迷你圖和迷你圖組,可在單元格中可視化數據
-
多種排序支持
可按值、多值、字體顏色和圖標排序,支持自定義排序
-
支持漸變填充
對于使單元格、形狀和圖表系列“突出”時非常有用
可與純前端表格控件 SpreadJS 前后端兼容
GcExcel 天然與 SpreadJS 前后端兼容,可直接導入 SSJSON 格式,在不依賴 Office、NPOI 和第三方軟件的情況下,滿足在線文檔的前后端數據同步、在線填報與服務端批量導出與打印,以及類Excel 報表模板設計與服務端高性能處理等功能,為您開發的應用程序提供整套 類 Excel 全棧解決方案。