前言:这是老牛发布在简道云新社区的第41篇博客,后续会更新更多,【欢迎点击关注作者主页】,及时解锁更多简道云实用开发知识。
独创简道云数据导入校验功能
一、需求背景概述
现实生活中常见的各种关口审查核验,是保证进出人员和货物符合相关要求,确保不出现违法违规或安全隐患。同样的道理,数据系统如果没有严格的校验,收到的数据就不符合规范,数据就可能受到污染,价值和意义就不大。
数据校验是数据系统很常见也很基础的一种功能,是保证数据准确有效的一个前提条件。没有数据校验的系统肯定是不完善的,没有数据校验的数据肯定是漏洞百出的。
- 字段属性中的必填不必填
- 重复值校验
- 数字字段的限定数值范围
- 手机号字段必须符合手机格式
- 当表单数据结构复杂,提交数据会禁止提交并提示正在计算中。
以上说的这些都是简道云系统内部的数据校验,校验方式都被简道云提前集成设置好,只需找到相应位置,点击鼠标设置即可。而简道云与外界其他数据进行交互,可能就是一般用户不太熟悉的了。
二、需求详情
- 一种是通过API
- 另一种就是以Excel表格的方式进行导入
第一种,通过API接口开发的方式进行数据传输,这个不必多说,自有一整套严格的代码数据校验的方式,以确保相互传输的数据符合要求。这种留到后期文章里详细讨论。这次重点要说的是第二种——以Excel表格的方式导入进行数据校验。
简道云里常用的Excel表格导入的方式,一直还没有合适的数据校验方式。绝大部分用户其实都是靠肉眼去审查,看看数据在Excel表格里是否符合要求。这种近乎“裸奔”的方式,对付较小数据量是还是勉强可以接受的,但只要数据量超出PC桌面窗口,需要使用鼠标,手动滚动上下翻滚去查看,就很容易出问题了。特别是当平时工作较忙,忘记仔细去排查数据,或者有时工作交接给新人,不能及时养成仔细核对数据的习惯,就更容易忽略这一关键步骤。
很多时候系统数据错误,排查到最后,才发现原来是最初导入的数据字段缺失,或者数据格式不符合要求,徒生很多无用功。
作为简道云连续5年官方指定定制服务商,做过很多项目,也曾经犯过不少类似错误,吃的亏多了,就开始想自己动手解决这一问题。简道云之所以强大,就在它于可以让用户最大限度发挥自己的创造力,比如,Excel数据导入校验问题,通过我们长期的摸索实践,终于找出了一个还算不错的解决方案。下面就详细讲解一下我们的解决思路和实现步骤。
三、需求分析
2、校验的要求是”校验数据是否为空,是否符合一定格式”;
3、而直接通过系统自带导入功能导入Excel表格又没有校验功能;
综合以上三点分析,发现,可实现批量处理多数量的有子表单,每次可达200条。而我们又知道,子表单字段都是有必填校验和字段类型属性的,而这两点又刚好符合数据导入校验的两大要求。所以接下来的思路应该是通过子表单来实现数据校验。
大的思路是——利用内部校验功能校验导入的外部数据。
四、实现思路
1、我在新社区发布的第14篇博客《如何做到快速添加子表单字段值且永不重复?》一文中,提到的“把下拉复选框数据快速填充到子表单并分割到不同字段”的方法,可以实现快速批量把数据分割填充到子表单里,且永不会重复。感兴趣的,可以点击上面文章标题查看原文。(也可利用关联数据字段的批量全选的方式快速填充子表单)
2、结合思路1中的方法,就能实现把一个表单中的数据,快速填充到第二个表单的子表单里进行校验,再把校验过的数据通过智能助手,写到一个新主表中。
综合以上1、2两点思路分析,具体实现的步骤就很清楚了。
五、实施步骤
3、盛放校验过数据的表,也是最后可以被系统其它表单调用使用的表。
六、难点提醒
1、“业主信息校验”的子表字段里要有提示字段,提示数据是否重复,比对的是表单“业主信息管理”里的数据,可用函数IF和MAPX函数来实现,如下图:
2、联动字段,每次通过“业主信息校验”的子表校验过的数据,都通过智能助手,把表单“业主信息导入”表中的联动字段数据进行修改,比如原有默认值为“未校验”,修改完为“已校验”,每次校验,联动的是“是否校验”字段里的“未校验”对应的值,所有已校验的数据,该字段值都被智能助手改写为“已校验”。
3、为了节省系统数据用量,可通过智能助手删除验证过的历史数据。结合第2和3点,智能助手设置可以如下图:
最后说明:该方法不适宜处理超大数据量导入,因为利用的是子表单进行校验,子表单每次处理数据上限是200条,如数据太大,比如几万条(简道云表单数据上限30万条),利用此方法,操作工作量还是比较大。
- 牛中伟
- 简道云官方连续5年指定定制服务商
- 利用简道云帮客户实施项目近300个
- 在原简道云老社区更新发布博客44篇
- 新老社区博客总阅读量超50万,留言1000余条
- 其中关于子表单的一篇博客收到用户打赏金额累计超7000元
- 关注帆软社区我的这个账号,有新博客更新,第一时间收到提醒
- 感谢大家一路以来的认可和支持,我会再接再厉,分享更多有价值的内容
- 如有任何简道云方面的问题,欢迎留言区留言或单独私信给我,期待与你的交流
- 精通子表单各类复杂用法
- 谙熟函数特性、及各种函数组合用法
- 独创利用简道云处理多级BOM的方法
- 深刻理解进销存系统及进销存思维模型
- 有一定的文本书写能力,总结复盘能力
- 较强的抽象思维能力、逻辑思维能力、统筹能力
- 对陌生行业陌生业务有快速的信息搜集整合和学习消化能力
- 拥有一整套成熟有效的整理系统需求文档的思想、方法和工具
- 很多用户感觉一直解决不了的问题在我们这里可能早已不是问题
- 了解如何制定完善的报表分析计划,并借此洞察项目业务背景和业务痛点。
- 理解系统与企业管理的关系,对如何在企业顺利推进管理系统落地有丰富经验和独到见解。
- 有一整套经上百大小项目锤炼过的适合简道云这类低代码工具帮助客户实施项目的流程和方法,确保系统更好实施,更快部署,更高完整度交付,确保系统更符合客户预期,甚至超预期,给客户真正带来价值!
懂简道云的冬泳高手,关注我的帆软社区账号,交个朋友!
|