设计思路篇

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....\_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 全栈解决方案的利用场景和案例,欢送返回葡萄城官网。