百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

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

qiyuwang 2025-02-16 22:37 9 浏览 0 评论

GrapeCity Documents for Excel(以下简称:GcExcel) 是一款服务端 Java Excel 组件,产品架构轻量灵活,无需 Office 组件依赖,结合纯前端表格控件 SpreadJS,在前端呈现 Excel 的数据可视化效果,实现类 Excel 的功能布局、数据分析和交互;在服务端实现批量创建、加载、编辑、导入/导出大型 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 用时不超过 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?

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文档和复杂的计算公式时,比和其他同类产品的速度更快,占用的内存也更少,与此同时,使用GcExcel,您还可以通过 Java、c# 代码完全控制电子表格,在不需要 Office 组件依赖的情况下,实现应用程序的组件化替代与云端架构升级。

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


关于葡萄城

赋能开发者!葡萄城公司成立于 1980 年,是全球领先的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商。西安葡萄城是其在中国的分支机构,面向全球市场提供软件研发服务,并为中国企业的信息化提供国际先进的开发工具、软件和研发咨询服务。葡萄城的控件和软件产品在国内外屡获殊荣,在全球被数十万家企业、学校和政府机构广泛应用。

相关推荐

10款最出色的免费数据库管理工具(免费数据库客户端)

OpenKeyValOpenKeyval是一款免费、开源的键值数据库管理工具,基于Web,并且基于PHP开发,其目标是用最简单的方法来管理Web应用程序数据。用户只需要发送一个POST请求就可以存储...

主流数据库的不同点在哪?MySQL和SQL Server的区别介绍

在本教程中,树懒君介绍了两种最普遍应用的RDBMS—MySQL和MicrosoftSQLServer。通过介绍MySQL和SQLServer的几个关键区别,希望大家能在这两者之间做出最适合自己的...

【推荐】一个开源免费、AI 驱动的智能数据管理系统,支持多数据库

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!.前言...

MySQL原理介绍(mysql原理简述)

一、Mysql中有哪几种锁?1)表级锁开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。...

免费的sql工具,SQLynx有哪些优势?

1.免费且功能全面无成本负担:对于个人用户来说,SQLynx个人版完全免费,无需支付任何使用费用或订阅费用,降低了个人开发者的经济成本。...

免费mysql服务器,mySQL云数据库产品优势?

mysql免费服务器,免费mysql服务器。云数据库MySQL(TencentDBforMySQL)是一种稳定可靠、可弹性扩展和便于管理的关系型数据库服务。云数据库MySQL提供备份恢复、监...

结合我们公司的需求,看了ORACLE的收费,决定弃购!

今天向ORACLE的销售人员,确认了他们的报价,每套ORACLE按CPU付费,一个CPU报价约26万,如果你一台服务器有4个CPU,则26*4=104万(一台服务器)。我们有10台服务器,经费不够的情...

一起免费考 MySQL OCP 认证啦(mysql ocp考试大纲)

前言:在1995年,首个MySQL版本发布,为庆祝MySQL诞辰30周年,OracleUniversity在限定期间内推出了多个MySQL的免费培训课程与认证,其中也包括My...

Navicat推出免费数据库管理软件Premium Lite

IT之家6月26日消息,Navicat推出一款免费的数据库管理开发工具——NavicatPremiumLite,针对入门级用户,支持基础的数据库管理和协同合作功能。▲Navicat...

Linux服务器配置DNS解析(linux dns配置服务器)

环境说明CentOS等Linux操作系统基本是一样的...

搭建内网的DNS服务器(搭建内网dns解析服务器)

1.安装dnsmasq#centosyum-yinstalldnsmasq...

# 更换手机热点后secureCRT无法连接centOS7系统

#更换手机热点后secureCRT无法连接centOS7系统##一、问题描述某些情况下,我们可能使用手机共享热点而给电脑联网。本来用一个手机热点共享网络时,SecureCRT可以正常连接到Cent...

VMware与CentOS安装配置指南(vmware workstation安装centos7)

以下是一份详细的VMware虚拟机安装、配置及CentOS系统安装配置的指南,适合新手逐步操作:一、VMware虚拟机安装与配置...

CentOS7安全加固的一份整理规划建议

◆更新系统:及时更新CentOS7操作系统版本和安全补丁,确保系统以最新状态运行。◆关闭不必要的服务:在运行系统时,应关闭不需要的服务和端口,以减少系统暴露的攻击面。◆安装防火墙:使用iptables...

DNS从入门到放弃系列(3)(dns f1)

见字如面,我是小斐,今天文章展开说明bind9中named.conf...

取消回复欢迎 发表评论: