SpreadJS集成计算表链接数据透视表,高效实现前端数据的多维度分析,中层业务人员使用的功能都可以在Web端系统实现。总体实现方案分为三种:完全自主开发一套具有Excel功能的组件;使用成品软件,如office365、wps等;使用类似Excel的控件;在实际调研中发现,如果采用第一种方案,自主开发成本太高,如Excel中各公式功能的实现,跨工作表计算链接分析等,都是难以实施。二是自研系统的操作习惯不一定与Excel类似,导致后续业务人员使用需要一定的培训成本。方案二不需要对原有Excel功能进行研发投入,但由于软件封装性强,以及实际web系统中的业务需求,需要结合实际应用场景定制一些功能。最常见的一种是表单保护。连接软件类型和权限时,最小粒度只能控制在表单层面,不能控制在当前用户下,某些单元格不能编辑。软件的高封装性无法应对系统中大量的定制化需求。相对来说,选择类Excel控件是最完美的策略。无需研发人员自行开发Excel功能,同时提供大量API支持扩展开发。SpreadJS是一款纯前端Excel表格控件,支持主流前端框架,可以轻松嵌入到自己的web系统中。作为一个类Excel的表格控件,SpreadJS自然具备了Excel的大部分功能,比如数据校验、条件格式化、图形图表、公式函数、数据透视表等。另外,为了方便数据的设置和提取在Web系统方面,SpreadJS还提出了数据绑定、托管表等方法来简化开发成本。本文围绕数据设置和分析,在SpreadJS中集成了集成计算表和数据透视表的功能,提供了一个纯前端的高效数据多维度分析解决方案。SpreadJS与框架的集成方法可以参考以下文章:Vue集成SpreadJS;React集成了SpreadJS。在web系统中,为了对数据进行分析处理,首先需要将需要分析处理的数据查询到前端。在SpreadJS中,esctable是一个具有网格行为和电子表格用户界面的快速数据绑定视图,可以对接特定的API接口,实现数据的增删改查。API层面的实现请参考学习指南-escom,UI层面的操作请参考以下视频教程:escom数据自动同步;批量提交escom数据。本文重点介绍数据分析。暂时只能关注escom表数据查询接口。在SpreadJS在线体验地址中,创建escom表时,默认提供了一个数据查询接口。本文中测试界面是通过Postman模拟生成的,对应的界面为“https://9a288081-e4c6-4468-82...”,返回数据字段为“list”,创建escom表的过程如下:创建集合计算表后,集成计算表本身具有一定的分析统计能力。部分数据的分析和统计可以通过分组和求和功能实现:但是这种数据统计分析比数据透视图稍微复杂一些。而且不符合Excel的使用方式。对于业务人员来说,存在一定的挑战。我们可以使用集成表作为数据显示的快捷方式。后续的数据分析仍然是通过生成数据透视表来完成的。SpreadJS基于计算表,可以直接创建数据透视表:使用该方案,我们可以快速连接数据,在纯前端环境下实现数据分析和统计需求。
