当前位置: 首页 > article >正文

SpreadJS 16.2.2 + GcExcel 6.2.3 相结合,还有更强的吗

SpreadJS + GcExcel 相结合,还有更强的吗?

内容摘自互联网,,,

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

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

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

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


在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的部分任务(这部分任务本身会大量消耗前端性能),减轻前端压力,全栈结构也有效避免了头重脚轻,使应用程序更加优雅。


http://www.kler.cn/news/108557.html

相关文章:

  • Android WMS——WM窗口管理(八)
  • 小程序request请求封装
  • 使用 @antfu/eslint-config 配置 eslint (包含兼容uniapp方法)
  • 社恐了怎么办?如何改变社交恐惧症?
  • 代码随想录算法训练营第23期day36|738.单调递增的数字、968.监控二叉树
  • request、response请求转发和重定向
  • C++面试题库
  • el-date-picker日期选择器奇怪的问题解决
  • github搜索技巧探索
  • 人工智能与航天技术的融合:未来发展的新趋势
  • 2015年亚太杯APMCM数学建模大赛B题城市公共交通服务水平动态评价模型求解全过程文档及程序
  • java spring boot 字符串判空
  • 黔院长 | 一文了解五脏的脏象!
  • 【计算机网络】(谢希仁第八版)第二章课后习题答案
  • PHP危险函数
  • Qt之实现支持多选的QCombobox
  • MySQL安装『适用于 CentOS 7』
  • 防止消息丢失与消息重复——Kafka可靠性分析及优化实践
  • 微机原理:汇编语言程序设计
  • 两数之和(C++解法)
  • 【Oracle】Navicat Premium 连接 Oracle的两种方式
  • 分类预测 | Matlab实现KOA-CNN-GRU-selfAttention多特征分类预测(自注意力机制)
  • Python——新建工程/引入本地库
  • 基于PHP的仓库库存管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 【VR开发】【Unity】【VRTK】1-无代码VRVR开发介绍
  • SQL SELECT TOP, LIMIT, ROWNUM
  • 悟空crm安装搭建 报错[0] RedisException in Redis.php line 56问题处理办法
  • 若依ruoyi-nbcio如何做一个仿钉钉流程设计器的思考
  • SylixOS BSP开发(七)
  • vue源码分析(六)——vnode 和 createElement的使用和作用