写点什么

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

用户头像
Geek_Willie
关注
发布于: 2020 年 06 月 02 日
GcExcel:比 Apache POI 速度更快、性能更高

GrapeCity Documents for Excel(GcExcel) 是一款服务端 Java Excel 组件,产品架构轻量灵活,无需 Office 组件依赖,结合 纯前端表格控件 SpreadJS,在前端呈现 Excel 的数据可视化效果,实现类 Excel 的功能布局、数据分析和交互;在服务端实现批量创建、加载、编辑、导入/导出大型 Excel 文档,为您的应用程序提供 [Excel 全栈、全场景解决方案](https://www.grapecity.com.cn/developer/grapecitydocuments/solutions)





GcExcel 对操作系统的支持





GcExcel 对云服务的支持





GcExcel +SpreadJS 实现Excel 全栈解决方案



与Java电子表格库Apache POI相比,GcExcel速度更快、性能更高、内存消耗更少。本文将详细比较Apache POI与GcExcel的功能和性能,并向您推荐使用GcExcel的12条主要原因



主要功能对比



1. **公式数量**



GcExcel 支持 452 种 Excel 计算公式,而在 Apache POI 中,支持的公式数量仅有 157 - 280 种。



2. **导出 PDF**



GcExcel 支持导出 PDF 格式,包括页面设置选项、PDF 安全选项和文档属性, 而 Apache POI 不支持导出 PDF。



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 则不支持。





详细功能对比表



性能对比



我们通过一个测试项目,分别对比了 GcExcel 、Apache POI 和第三方组件的性能,结果如下所示:



  1. 获取和保存 100,000 * 30 个单元格的 double / string / date 值,GcExcel 用时不超过 0.2S ;Apache POI 为 18.7S 左右。



  1. 计算和保存 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



性能对比数据





性能对比图表



测试机配置



  • 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 产品官网。



用户头像

Geek_Willie

关注

深夜撰稿者,Anu belore dela'na! 2020.05.09 加入

该用户很懒,什么也没有留下~

评论

发布
暂无评论
GcExcel:比 Apache POI 速度更快、性能更高