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

2020-06-02 13:34:46 +08:00
 GrapeCityChina

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

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 左右。

  2. 计算和保存 20,000 * 30 个单元格的公式,结果为:GcExcel 用时不超过 1S ; Apache POI 为 10S 左右。

3. 打开并保存一个 20.5MB 的 Excel 文件,该文件包含了大量数据、公式和单元格格式,结果如下:

性能对比数据

测试机配置

测试版本

测试脚本

推荐您使用 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# 代码完全控制电子表格,在不需要第三方组件依赖的情况下,实现应用程序的组件化替代与云端架构升级。

如果您需要了解更多 GcExcel 的功能特性,以及如何与 SpreadJS 配合使用,实现 Excel 全栈、全场景解决方案,请前往 GrapeCity Documents 产品官网。

6552 次点击
所在节点    推广
18 条回复
GM
2020-06-03 09:47:00 +08:00
免费的 Apache POI 他不香吗?
dangge
2020-06-03 09:57:44 +08:00
huntcool001
2020-06-03 09:58:29 +08:00
相比阿里的 EasyExcel 呢?
breezeFP
2020-06-03 10:08:15 +08:00
用不起,告辞
lyog
2020-06-03 11:08:51 +08:00
用 POI 不是因为它好用,也不是因为它性能高,而是因为它不花钱
jakes
2020-06-03 11:29:58 +08:00
东西是好东西
wtks1
2020-06-03 12:47:33 +08:00
个人写的小东西是真用不起这个
lower
2020-06-03 18:29:28 +08:00
作为一个码农,我肯定不会首选,要花钱买是一部分,其次我花大把精力了解了它的用法 api,换个项目 /换个工作这玩意就没直接价值了
dark3212
2020-06-04 09:05:15 +08:00
@dangge 你这图不错,可下一秒它是我的了。
mmrx
2020-06-04 09:45:06 +08:00
@dangge 图很 fine,下秒 mine
weizhen199
2020-06-04 12:44:49 +08:00
以前还在写 c#的时候就有些付费 office 组件很强大很好用,和后来 java 里的 poi 差距明显。感觉像是 c 艹的胶水
xwbz2018
2020-06-04 16:04:24 +08:00
看起来优化的不错,精神支持一下
beyondex
2020-06-05 12:51:32 +08:00
支持一下,大项目有需求的可以买
li24361
2020-06-09 08:48:45 +08:00
easyExcel
rokoko
2020-06-09 09:11:11 +08:00
@livid,限制一下置頂吧,隔幾天就看到這個玩意,有時候不登錄帳號,又不能 block,看了煩
Livid
2020-06-09 09:13:23 +08:00
@rokoko

1. 首页上至多会出现 2 个置顶帖。
2. V2EX 支持按照节点、用户、主题进行屏蔽。
CloudnuY
2020-06-09 10:04:34 +08:00
可惜不支持 Word PowerPoint
GrapeCityChina
2020-06-09 13:33:37 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/677824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX