设计思路篇

Excel是我们日常办公中最常用的电子表格程序,不仅可满足报表数据的计算需求,还可提供绘图、数据透视分析、BI和Visual Basic for Applications (VBA)宏语言编程等多项功能。经过数年发展,Excel已具备所有电子表格的基本能力,在满足统计、工程和财务领域的各项数据分析需求的同时,还取代了Lotus 1-2-3成为电子表格的行业标准。

Excel的命名源自于英语中"Excellence"一词,代表着:卓越和优秀,而最能体现其"卓越和优秀"的点就是Excel的公式与函数。Excel 的公式函数使得本身静态的表格真正"活"了起来。

如果说Excel是基于"公式与函数"的特性,成为了职场精英高效工作必备的神兵,那么纯前端表格控件 SpreadJS 也正是依靠这一特性,成为了开发者快速开发企业Web应用的利器。

SpreadJS是葡萄城研发的一款基于 HTML5 的纯前端表格控件,兼容 450 多种 Excel 公式,具备"高性能、跨平台、与 Excel 高度兼容"的产品特性,备受华为、明源云、远光软件等知名企业青睐,被中国软件行业协会认定为"中国优秀软件产品"。借助SpreadJS的组件功能,开发者得以将Excel搬到了线上的网页中,使应用程序具备在线Excel 的能力。

视频: https://videos.grapecity.com.cn/SpreadJS/online/SpreadJS_Introduction.mp4

在2021年之前,基于浏览器的Web 应用的确可以满足企业大部分需求,但随着 Web 3.0的推出,以及万物互联与元宇宙等新兴概念的出现,应用程序极致的性能与用户体验开始逐步替代程序功能本身,并有望成为未来Web系统的"标配"。

不过,受限于浏览器内存本身,前端组件的性能瓶颈无法避免。为此,葡萄城提出了"类 Excel 全栈解决方案"来解决这一问题。

SpreadJS + GcExcel 构建类 Excel 全栈解决方案

由于前端资源的限制,当我们去加载一个包含大量计算公式的Excel时(例如地产行业的投资管理模型、金融保险行业的金融精算表格、生产制造业的设计底稿等),表格加载缓慢、程序未响应,甚至崩溃的问题时有发生。

这些Excel的共同特点是:公式数量在10W~20W以上,表格包含大量逻辑复杂且互相嵌套的公式函数,如果仅依靠JS组件和浏览器处理这些文档,显然会捉襟见肘。然而,如果将它们放在后端服务器上执行,即不会影响到用户体验,又能明显优化前端性能,实现前后端负载均衡,这便是SpreadJS + GcExcel 构建类 Excel 全栈解决方案的设计初衷。

利用 GcExcel在服务端的性能优势,将其与纯前端表格控件SpreadJS双剑合璧,即可满足在线文档数据同步、在线填报、批量导出与打印,以及类 Excel 报表模板设计与服务端高性能处理等功能。

类 Excel 全栈解决方案在处理大型 Excel 文档时的优化思路:

1、利用GcExcel在服务端批量处理 Excel 的特性和性能优势,在Java或 .NET平台对整个Excel文档进行加载和总体计算。

2、仅利用纯前端表格控件SpreadJS来展示页面结果,并实现与用户进行交互。

方案架构图如下所示:

根据这样的设计,GcExcel可以有效分担原本SpreadJS的部分任务(这部分任务本身会大量消耗前端性能),减轻前端压力,全栈结构也有效避免了头重脚轻,使应用程序更加优雅。

本期主要介绍了全栈表格技术在应对复杂公式计算场景时的设计思路,下一期我们将从代码开始详细讲解。如果您的项目中有类似的需求,或者希望进一步了解类 Excel 全栈解决方案的应用场景和案例,欢迎前往葡萄城官网

SpreadJS + GcExcel 一出,谁与争锋!全栈表格技术轻松应对复杂公式计算场景(一)的更多相关文章

  1. 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”

    摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案. 在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为 ...

  2. 思道OA PK 通达OA 同场竞技 谁与争锋

    技术架构 思道OA 通达OA 开发语言 微软ASP.NET 4.0 PHP开源脚本语言 64位平台 64位 32位 数据库 SQL Server大数据库 MySQL开源数据库 官网下载 下载地址 下载 ...

  3. C/S与B/S谁与争锋之我见

    看到网上有些人在讨论C/S架构和B/S架构以及它们的发展趋势,后起之秀B/S是否真将取代C/S而存在?在发表我的观点之前,我们先来一起来回顾下C/S以及B/S. 一C/S 1.C/S概念 C/S是Cl ...

  4. Vue.js与Jquery的比较 谁与争锋 js风暴

    普遍认为jQuery是适合web初学者的起步工具.许多人甚至在学习jQuery之前,他们已经学习了一些轻量JavaScript知识.为什么?部分是因为jQuery的流行,但主要是源于经验开发人员的一个 ...

  5. R vs Python,数据分析中谁与争锋?

    R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好? 当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这 ...

  6. 新一批创业者金矿,iclap谁与争锋

    19世纪,美国西部开发,无数拓荒者涌入,并最终因金矿的发现形成了淘金热.而当无数人埋头寻找黄金之时,有一个人却抬起头看到了潜藏在无数淘金者身上的金矿-这个人就是牛仔裤的发明者,Levi’s的创始人-李 ...

  7. 第1课 Git、谁与争锋

    1-1  安装和使用Git http://git-scm.com/downloads Git的指令模式,才能够清楚地了解Git的工作细节.最后还会介绍Git Server的架设和管理,让读者能够熟练使 ...

  8. [cnBeta]阿里云推出全栈IPv6解决方案 加速推进下一代互联网应用

    https://www.cnbeta.com/articles/tech/795695.htm 访问: 阿里云 - 最高1888元通用代金券立即可用 作为国内首个全面支持IPv6的云厂商,过去5个月, ...

  9. 基于LeanCloud云引擎的Web全栈方案

    LeanEngine-Full-Stack The FULL STACK DEVELOPER 复杂的项目, 协作分工, 自动化流程,代码组织结构,框架选择,国际化方案等 Generator 或者See ...

随机推荐

  1. java接口应用

    1 package face_09; 2 /* 3 * 笔记本电脑使用. 4 * 为了扩展笔记本的功能,但日后出现什么功能设备不知道. 5 * 6 * 定义了一个规则,只要日后出现的设备都符合这个规则 ...

  2. IP:网络上的击鼓传花

    链接,而不是直达 在之前<听说你很懂 DNS?>中我们分析过用户在浏览器里面输入 www.baidu.com 后,浏览器如何通过 DNS 解析拿到 IP 地址,然后请求该 IP 地址获取网 ...

  3. db2服务器linux的cache过高原因

    在线上db2数据库服务器,使用的linux操作系统(RHEL,centos),当db2数据库运行一段时间之后,操作系统的物理内存就趋近于0,同时系统的cache暴增,但是use却不高,下面是正常使用 ...

  4. CPU飙升排查

    怎么排查CPU飙升 线上有些系统,本来跑的好好的,突然有一天就会出现报警,CPU使用率飙升,然后重启之后就好了.例如,多线程操作一个线程不安全的list往往就会出现这种现象.那么怎么定位到具体的代码范 ...

  5. grafana ldap 权限无法保持

    一.Grafana介绍 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知.它主要有以下六大特点: 1.展示方式:快速灵活的客户端图表,面板插 ...

  6. Java多线程专题6: Queue和List

    合集目录 Java多线程专题6: Queue和List CopyOnWriteArrayList 如何通过写时拷贝实现并发安全的 List? CopyOnWrite(COW), 是计算机程序设计领域中 ...

  7. String 不可变

    String 源码,String 的修饰符是 final String 采用的是共享模式,被放进常量池 String strA = "abc"; String strB = &qu ...

  8. Nacos服务注册与发现的2种实现方法!

    Spring Cloud Alibaba 技术体系中的 Nacos,提供了两个重要的功能:注册中心(服务注册与发现)功能和配置中心功能. 其中注册中心解决了微服务调用中,服务提供者和服务调用者的解耦, ...

  9. AT2395 [ARC071C] TrBBnsformBBtion

    基于观察,可以发现以下两条性质: A 可以到 BB,BB 也可以到 A,对 B <-> AA 也是同理的. 可以通过这两个操作交换相邻元素. 对于前者,只需证明 BB 可以到 A 即可,不 ...

  10. select 级联选择

    转载请注明来源:https://www.cnblogs.com/hookjc/ <script   language="javascript">   <!--   ...