前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在填报场景中使用数据绑定获取数据源

如何在填报场景中使用数据绑定获取数据源

作者头像
葡萄城控件
发布于 2022-11-11 09:31:40
发布于 2022-11-11 09:31:40
2K00
代码可运行
举报
运行总次数:0
代码可运行

背景

在公司的日常业务中,存在不少数据的收集提取需求,大部分公司会采取Excel来完成数据的收集和汇总,但这项工作会让负责信息收集的业务人员相当头大。虽然提前做好了数据收集模板,但最终提交上来的模板会被修改的五花八门,信息填写错误率比较高,无法实现信息填写不完整不允许提交的约束。后期的数据汇总虽然可以采用手动的复制黏贴来实现,但如果想要把这些数据做结构化存储,又需要去研发人员去开发一套解析Excel文档的功能,将这些填报数据提取入库,整个流程比较繁琐且出错率较高。

如果从最开始将这套数据收集的业务完全做在Web端,整体的数据收集任务下发,填报,数据汇总,数据提取完全自动化,这将会大大的提高业务人员的工作效率。本文会带大家使用纯前端表格控件解决这个问题。该控件SpreadJS具备纯前端、高性能等特点,在浏览器端实现了excel的大部分功能,使得在线编辑Excel称为可能。使用它,我们不再需要本地安装Office相关的服务,只要具备一个满足H5标准的浏览器,即可在Web端完成之前需要在本地Excel中完成的一系列操作,我们也可以在官方部署的体验地址上对SpreadJS进行在线体验。

数据收集逻辑

结合SpreadJS和前后端交互逻辑,即可完成一个数据收集的功能,大家如果对源码内容感兴趣可以查看: 指标补录Demo

在该实例中,使用SpreadJS中的数据绑定设计了数据收集模板与汇总模板;之后开发了数据收据模板下发的功能,将数据收集模板推送给需要填报的相关人员。

对应人员填报后,可以使用SpreadJS中数据绑定获取数据的相关API,获取填写数据。

最终再借助数据绑定,将汇总数据使用数据绑定设置在汇总模板中。通过如上几步,客户的填报数据在提交时,就可以以结构化数据存储数据库中,汇总时只需要从数据库中查询再设置到汇总模板即可。SpreadJS同时内置了多种数据验证,在数据提交时,结合数据验证,可以在模板中包含异常数据时将请求驳回,建立一套严谨便捷的数据提交汇总流程。

项目实战

接下来我们可以一起探索SpreadJS中数据绑定的功能究竟该如何使用。

如果不了解如何在Web端项目集成SpreadJS,可以参考文章:

构建基于React18的电子表格程序

基于Vite+React构建在线Excel;

SpreadJS内部支持了三种数据绑定方式,分别数工作表绑定、单元格绑定与表格绑定。

(1)工作表绑定

通常一个Excel文件会包含多张工作表,如下所示,Sheet2与Sheet3分别代表的就是一张工作表:

工作表级别的数据绑定即将数据与当前工作表建立映射关系,相关的代码实现可以参考学习指南-工作表绑定,这里列出一些核心的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let designer = new GC.Spread.Sheets.Designer.Designer("designer-container")

// 获取designer关联的Spread对象

let spread = designer.getWorkbook()

// 获取当前活动的sheet

let sheet = spread.getActiveSheet()

// 模拟绑定数据,表单绑定数据源是一个json数组

function generateData(count){

`    `let data = []

`    `for(let i=0; i<count;i++){

`        `let item = {}

`        `item.id = i

`        `item.name = `姓名${i}`

`        `item.age = Math.ceil(Math.random()\*10+10)

`        `item.weight = Math.round(Math.random()\*30+20)

`        `data.push(item)

`    `}

`    `return data

}

let data = generateData(100)

// 设置当前工作表的数据源

sheet.setDataSource(data)

执行完成绑定逻辑之后,工作表展示如下:

接下来我们可以在工作表中进行一些删除行,新增行,修改数据的操作,操作完成之后,调用获取绑定数据的API,即可获取当前修改之后的绑定数据:

详细的demo演示,可以点击这里参考实现。

(2)单元格绑定

单元格绑定见名思意,即将单元格与某一个字段key建立映射,用户填写的数据可以反应在这个key值对用的value中,单元格绑定代码的实现方式可以参考学习指南-单元格绑定,本文演示如何借助设计器实现数据绑定。首先,借助设计器,完成一个数据绑定模板的设计,可以参考如下动画:

通过简单的拖动,即可完成key值与单元格之间的映射建立,接下来,就可以构造一些默认数据,设置默认的绑定数据。绑定完成之后,可以修改绑定数据,修改完成之后,通过SpreadJS数据绑定获取数据源的API,即可拿到修改之后的数值。这里其实就是一个填报场景的体现,例如,当前需要收集人员信息表,每一位员工在填写完成之后,点击提交时,就可以拿到员工信息的一个json数据,之后前端就可以将这些数据发送给服务端,让服务端去做存储了。

SpreadJS中,支持将当前文件导出成一个他们自己能识别的json,模板文件可以以json形式存储,下次访问文件时,只需要执行spread.fromJSON(fileJson),就可以实现模板文件的保存与加在显示了,关于表单绑定完整的Demo演示可以点击这里,参考详细的实现代码。

(3)表格绑定

很多不熟悉Excel的用户,会直接把一个Excel工作簿或者一个工作表称为一个表格,但其实这样的是不正确的。Excel中表格具有特殊的含义,这一点在SpreadJS中也是一致的。SpreadJS中表格绑定的代码实现可以参考学习指南-表格绑定。在客户的实际业务中,表格绑定和单元格绑定往往会同时发生,接下来会演示借助SpreadJS在线表格编辑器(设计器)如何实现一个这样的模板设计:

到这里我们就为大家完整展示了如何在填报场景中使用数据绑定获取数据源,大家想了解更多demo源码实例:

https://www.grapecity.com.cn/developer/spreadjs/demo/code-base

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
优化预算管理流程:Web端实现预算编制的利器
预算是企业在预测、决策的基础上,以数量和金额的形式反映的企业未来一定时期内经营、投资、财务等活动的具体计划,为实现企业目标而对各种资源和企业活动的详细安排,是计划的数字化、表格化、明细化表达。预算管理的分类包括经营预算、专门决策预算和财务预算:
葡萄城控件
2023/10/27
2510
优化预算管理流程:Web端实现预算编制的利器
如何开发一款基于 vite+vue3 的在线表格系统(下)
在上篇内容中我们为大家分享了详细介绍Vue3和Vite的相关内容。在本篇中我们将从项目实战出发带大家了解Vite+Vue3 的在线表格系统的构建。 使用Vite初始化Vue3项目 在这里需要注意:根据官网文档说明,使用Vite需要node版本在12以上,请在创建项目前检查node版本
葡萄城控件
2022/09/22
1.2K0
如何开发一款基于 vite+vue3 的在线表格系统(下)
纯前端表格控件SpreadJS与Java结合,实现模板上传和下载等功能
您可直接解压到 eclipse 的 workspace 下,导入 Existing Projects into Workspace 工程即可。
葡萄城控件
2018/10/16
1.9K0
如何在浏览器中导入Excel表格插件(下)
  作为一名优秀的打工人,Excel是大家上班中必不可少的办公软件。随着互联网时代的到来,越来越多的公司开始使用各种B/S系统来处理表格数据文件。那么有没有一种可以直接在浏览器中使用的Excel插件去处理数据呢?答案是肯定的。本文小编将为大家介绍如何在Vue框架中集成在线表格插件(以下简称为“SpreadJS”)和在线表格编辑器(类Excel浏览器插件)实现在浏览器中使用Excel插件来处理数据。
葡萄城控件
2023/10/11
3950
如何在浏览器中导入Excel表格插件(下)
一篇解决 —— 报税系统的分析与解决方案
中国征税税种极为广泛,包括所得税(企业所得税和个人所得税)、间接税(增值税和消费税)、与房地产相关的税(土地增值税、房产税、耕地占用税和城镇土地使用税)和其它税种等。对于大部分个人来说,报税可能并不是十分繁杂。但对于企业来说,在不断演变的税收环境下,企业需要满足合规要求,减少税收风险,设计并实施最佳的税务优化方案。
葡萄城控件
2022/11/07
7550
一篇解决 —— 报税系统的分析与解决方案
数据可视化探索之 SpreadJS
1、科学可视化主要关注的是三维现象的可视化,如建筑学、气象学、医学或生物学方面的各种系统。重点在于对体、面以及光源等等的逼真渲染,或许甚至还包括某种动态成分。
政采云前端团队
2021/05/11
2.2K0
数据可视化探索之 SpreadJS
电子表格也能做购物车?简单三步就能实现
在我们的项目当中,经常需要添加一些选择界面,让用户直观地进行交互,比如耗材、办公用品、设计稿或者其它可以选择的内容。
葡萄城控件
2022/10/28
1.5K0
记录一次前端表格选型过程
最近,接到一个客户项目,前期沟通时,客户说,我们日常基本都是使用Excel来做一些信息收集。但是每次收集信息时,都需要文件传来传去,十分麻烦。本来是想着用一些云文档,但是沟通下来领导层没通过,主要原因是:
葡萄城控件
2023/10/16
3260
记录一次前端表格选型过程
基于前端技术实现的全面预算编制系统
在现代商业环境中,预测销售数据和实际成本是每个公司CEO和领导都极为重视的关键指标。然而,由于市场的不断变化,准确地预测和管理这些数据变得愈发具有挑战性。为了应对这一挑战,建立一个高效的系统来管理和审查销售数据的重要性不言而喻。今天小编就将为大家介绍一下如何使用葡萄城公司的纯前端表格控件SpreadJS实现一个预算编制系统。
葡萄城控件
2024/03/26
1420
基于前端技术实现的全面预算编制系统
如何使用前端表格控件实现多数据源整合?
作为表格产品的典型应用场景之一,几乎所有的行业都会存在类 Excel 报表开发这样的应用场景,而在这些应用场景中,经常会遇见下面的这些痛点:
葡萄城控件
2024/05/31
2710
如何使用前端表格控件实现多数据源整合?
【图解】Web前端实现类似Excel的电子表格
本文将通过图解的方式,使用纯前端表格控件 SpreadJS 来一步一步实现在线的电子表格产品(例如可构建Office 365 Excel产品、Google的在线SpreadSheet)。 工具简介:
葡萄城控件
2018/01/10
9.4K0
【图解】Web前端实现类似Excel的电子表格
如何使用JavaScript 将数据网格绑定到 GraphQL 服务
作为一名前端开发人员,GraphQL对于我们来说是令人难以置信的好用。它可以用来简化数据访问,这让我们的工作变得更加容易。
葡萄城控件
2023/11/30
3680
如何使用JavaScript 将数据网格绑定到 GraphQL 服务
前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件
最近我们公司接到一个客户的需求,要求为正在开发的项目加个功能。项目的前端使用的是React,客户想添加具备Excel 导入/导出功能的电子表格模块。 经过几个小时的原型构建后,技术团队确认所有客户需求文档中描述的功能都已经实现了,并且原型可以在截止日期前做好演示准备。但是,在跟产品组再次讨论客户需求时,我们发现之前对有关电子表格的部分理解可能存在偏差。 客户的具体需求点仅仅提到支持双击填报、具备边框设置、背景色设置和删除行列等功能,但这部分需求描述不是很明确,而且最后提到“像Excel的类似体验”,我们之前忽略了这句话背后的信息量。经过与客户的业务需求方的直接沟通,可以确认终端用户就是想直接在网页端操作Excel,并且直接把编辑完成的表格以Excel的格式下载到本地。
葡萄城控件
2022/10/04
6.1K0
前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件
数据透视表上线!如何在纯前端实现这个强大的数据分析功能?
在Office三大办公套件中,Excel可能是功能最多、最难精通的那一款了。从日常的表格录入到复杂的业务数据统计分析,Excel仿佛一位外表平平无奇,实力却深不可测的武林高手。熟练使用Excel往往能在日常工作中获得事半功倍的效果,而这里所谓的“熟练”除了熟悉大量公式、图表绘制等操作外,还要掌握一项非常重要的特性——数据透视表。 所谓数据透视表,就是将原始的明细数据表中涉及的各组关联数据进行分类汇总的产物。用户可以按照不同的组合方式对原始数据进行处理。例如下面这样的销售业绩原始数据:
葡萄城控件
2022/09/23
2.1K0
零难度指南:手把手教你如何通过在线Excel实现资产负债表
作为财务分析中的三大报表之一,资产负债表的作用是展示一个企业在特定时间点上的财务状况。今天小编就为大家介绍一下如何使用葡萄城公司的纯前端在线表格控件SpreadJS实现一个资产负债表。
葡萄城控件
2024/02/27
2670
零难度指南:手把手教你如何通过在线Excel实现资产负债表
SpreadJS集算表联动数据透视表,高效实现前端数据多维分析
在做一些财务、供应链、资产管理等系统时,由于业务人员线下都是采用Excel来完成的,因此就需要将Excel中业务人员使用的功能都能在Web端系统实现,整体上的实现方案有三种:
葡萄城控件
2022/12/25
8700
SpreadJS集算表联动数据透视表,高效实现前端数据多维分析
在线Excel的分权限编辑
在表格类填报需求中,根据当前登录用户的不同等级,能填报的区域会有所不同。本文基于前端表格控件SpreadJS,介绍一种实现前端分权限编辑的实现方案。
葡萄城控件
2023/10/16
3460
在线Excel的分权限编辑
如何使用JavaScript导入和导出Excel文件
JavaScript是一个涵盖多种框架、直译式、可以轻松自定义客户端的脚本语言,在 Web 应用程序中,更加易于编码和维护。而Excel 作为一款深受用户喜爱的电子表格工具,借助其直观的界面、出色的计算性能和图表工具,已经成为数据统计领域不可或缺的软件之一。
葡萄城控件
2019/07/11
6.8K0
如何使用JavaScript导入和导出Excel文件
基于纯前端类Excel表格控件实现在线损益表应用
财务报表也称对外会计报表,是会计主体对外提供的反映企业或预算单位一定时期资金、利润状况的会计报表,由资产负债表、损益表、现金流量表或财务状况变动表、附表和附注构成。财务报表是财务报告的主要部分,不包括董事报告、管理分析及财务情况说明书等列入财务报告或年度报告的资料。
葡萄城控件
2022/10/28
3.2K0
一篇带你了解如何使用纯前端类Excel表格构建现金流量表
现金流量表(Cash Flow Statement),是指反映企业在一定会计期间现金和现金等价物流入和流出的报表。现金流量表是企业财务报表的三个基本报告之一(另外两个是资产负债表和损益表)。 为了全面系统地揭示企业一定时期的财务状况、经营成果和现金流量,财务报表需按财政部会计准则的标准格式设计,因此,财务报表的典型特征是数据更新频繁、分析维度多、数据来源复杂,常规的报表工具很难同时满足上述所有需求 本博客将带大家了解如何使用类Excel 的 JavaScript 电子表格在前端创建现金流日历。此日历将广泛使用以下强大功能:
葡萄城控件
2022/10/31
11K0
一篇带你了解如何使用纯前端类Excel表格构建现金流量表
推荐阅读
相关推荐
优化预算管理流程:Web端实现预算编制的利器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档