报表工具之数据校验竟可以如此简单

简介: 你还在为保证填报表信息准确无误的入库,苦哈哈的写 js 来实现数据的校验?!告诉你报表工具可以轻松实现,去乾学院看个究竟:<a href="http://c.raqsoft.com.cn/article/1543893011793?r=IBelieve" target="_blank" rel="...

在报表开发过程中,为了保证信息准确无误入库, 我们经常会被要求对报表增加校验以保证数据类型和格式的正确。比如:工资金额最多只允许包含两位小数、邮政编码必须是全数字组成的 6 位数且首位数字不能是 0 等等。面对多种多样、层出不穷的校验需求,如果都写 js 来实现的话,那工作量真是…(你懂得),那么有没有一款报表神器,能轻松搞定这些校验呢?
呵呵呵…
下面我就给大家推荐一下解救我的神器—润乾报表,此神器提供了强有力的校验方法,例如通过设置单元格的数据类型、在填报单元格校验或格间校验里写校验公式、自定义有效性验证脚本,等等。利用好这些手段,就能摆脱大量写 js 的命运。
下面我们就分类说明一下,润乾报表是怎么实现各种校验的。
数据类型校验 – 栗子 1:
要求:
工资录入的数据必须是数值。
设置如下:
选中工资所在单元格 H3,右侧属性 -- 表达式 -- 数据类型,选择数值型即可。
1

效果:
当工资输入非数值时,单元格失去焦点后,便会弹出提示“请输入数值!”,如下图
2

单元格类型校验 - 栗子 2:
这个栗子我们从多个较多进行分析讲解:
角度 1:
要求在原来数据类型的基础上,限定工资最多可录入两位小数。
设置如下:
菜单栏 中选择 填报 – 单元格校验,新增单元格校验表达式,其中,
表达式为:(/^d{0,8}.{0,1}(d{1,2})?$/).test(H3)
意为:H3 单元格内容必须包含 0 ~ 8 位整数,可带 0 ~ 1 个小数点和 1 ~ 2 位小数
出错提示为:工资金额,最多两位小数 如下图
3

效果:
当输入工资金额小数多于两位时,单元格失焦后,便会弹出预先指定提示信息,如下图:
4

角度 2:
要求邮政编码必须输入 6 个数字组成的数值串且首位数值不能为 0 。
设置如下:
菜单栏 中选择 填报 – 单元格校验,新增单元格校验表达式,其中
表达式为:D5.toString().match(/^[1-9]d{5}$/
意为:D5 单元格的字符串,首位必须是 1-9 之间的数字,其 5 位后随意取 5 位数字。
出错提示为:邮政编码必须是首位不为 0 且长度需为 6 位的纯数字 如下图
5

效果:
当输入邮政编码输入数值串为数超出 6 位且首位数字为 0 时,单元格失焦后,便会弹出预先指定提示信息,如下图:
6

角度 3:
要求员工表中姓名列必须填写,不能为空。
设置如下:
菜单栏 中选择 填报 – 单元格校验,新增单元格校验表达式,其中
表达式为:C3!=null&&C3!=""
出错提示为:姓名不能为空! 如下图
7

效果:
当管理员录入员工信息忘记输入姓名时,单元格失焦后,便会弹出预先指定提示信息,如下图:
8

有效性校验脚本 – 栗子 3:
要求:
筛选面板中选择的截止日期不能早于起始日期,否则给出提示且不能进行查询。
设置如下:
筛选面板 菜单栏 报表 报表属性 其他选项卡,有效性校验脚本中写入方法,如下图:
9

其中,startDate 为起始日期的 web 变量名,endDate 为截止日期的 web 变量名。
方法为:
if (getParamValue(“startDate”) > getParamValue(“endDate”)){
alert(“起始日期不能大于截止束日期!”);
return false;
}
return true;
效果:
当筛选面板中选择的起始时间早于截止时间时,点击查询便会弹出提示,提醒用户修改。如下图
10

格间校验 - 栗子 4:
要求:
报表组中的关联项需要保持一致,或者计算后结果保持一致。例如:报表组中包含订单表和订单明细表,那么订单明细表中所有产品的订单金额总和就必须跟订单表中的订单金额保持一致,否则,给出错误提示不允许数据入库。
设置如下:
报表组中 菜单栏 填报 格间校验,新增格间校验表达式,其中
表达式为:订单!H6== 订单明细!G5
出错提示为:订单明细中总金额和订单中金额不一致!
注:表达式中“订单”和“订单明细”分别代表报表组中订单表和订单明细表的 sheet 页名称,见下图标注,H6 和 G5 分别对应订单表和订单明细表中的单元格,感叹号为连接符
11

效果:
订单明细中,所有产品金额总和为 1810,如下图:
12

那么如果在订单明细中输入其他值,在提交保存时,就会给出错误提示。如下图:
13

作者:IBelieve
链接:http://c.raqsoft.com.cn/article/1543893011793?r=IBelieve
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
存储 Java 应用服务中间件
MinIO对象存储详细安装教程
MinIO对象存储详细安装教程
2261 2
|
云安全 缓存 监控
什么是CC攻击,有什么办法防御CC攻击
CC攻击的前身是一个名为Fatboy的攻击程序,而之所以后来人们会称之为CC,是因为DDoS攻击发展的初期阶段,绝大部分DDoS攻击都能被业界熟知的“黑洞”(Collapsar,一种安全防护产品)所抵挡,CC攻击的诞生就是为了直面挑战黑洞,所以Challenge Collapsar(挑战黑洞).
什么是CC攻击,有什么办法防御CC攻击
|
5月前
|
人工智能 安全 Linux
从单机到企业级集群:OpenClaw阿里云/本地部署+ClawManager与AI治理实战指南
在企业内部规模化落地AI智能体时,单机版OpenClaw往往面临诸多瓶颈:多用户混用难以管理、模型调用成本不可视、敏感数据缺乏风控、操作行为无法审计、实例分散难以维护。ClawManager的出现,正是为了解决这一系列问题,它基于云原生架构构建,是面向OpenClaw设计的**集群部署、模型治理、风险管控、成本核算、操作审计**一体化运营控制台,让OpenClaw从个人单机工具,升级为支持百人、千人同时使用的企业级AI基础设施。
1591 1
|
容器
Axure设计之下拉多选框制作教程A(中继器)
本文详细讲解了如何使用Axure制作动态交互的下拉多选器组件,以实现高保真原型设计。组件功能包括:下拉选项滚动显示、选中状态高亮、鼠标悬停效果、箭头图标切换、已选项删除等。通过选择框、中继器和动态面板的结合,完成从创建到交互设置的全流程。适合Web设计师和产品经理提升原型交互性,确保需求清晰传达。文内附案例预览图、在线演示链接及组件下载地址,方便学习与复用。
2182 8
|
存储 安全 API
权限设计种类【RBAC、ABAC】
权限设计种类【RBAC、ABAC】
3358 2
|
监控 数据挖掘 BI
企业CRM选择指南:悟空CRM和销帮帮的适用场景分析
销售易旗下的悟空CRM和销帮帮分别针对不同企业需求提供了独特的CRM解决方案。悟空CRM以其智能数据分析、移动办公支持、客户360度视图及自定义工作流等优势,适合中大型企业;而销帮帮则以简单易用、销售漏斗管理、客户跟进提醒及高性价比等特点,更适合中小企业和初创企业。两者各具特色,助力企业在数字化转型中提升竞争力。
|
网络协议 网络性能优化 数据处理
深入解析:TCP与UDP的核心技术差异
在网络通信的世界里,TCP(传输控制协议)和UDP(用户数据报协议)是两种核心的传输层协议,它们在确保数据传输的可靠性、效率和实时性方面扮演着不同的角色。本文将深入探讨这两种协议的技术差异,并探讨它们在不同应用场景下的适用性。
722 4
|
机器学习/深度学习 存储 数据挖掘
pandas常用字符串处理方法看这一篇就够了
pandas常用字符串处理方法看这一篇就够了
404 0
|
机器学习/深度学习 API 计算机视觉
4.2 图像分类基本概念和ResNet设计思想
这篇文章介绍了图像分类的基本概念,详细阐述了ResNet(残差网络)的设计思想和实现方法,包括残差单元的结构设计、整体网络结构以及如何使用飞桨框架的高层API快速构建和训练图像分类模型。
|
JSON Java fastjson
Spring Boot搭建实际项目开发中的架构
本文主要手把手带领大家快速搭建一个项目中可以使用的 Spring Boot 空架构,主要从统一封装的数据结构、可调式的接口、json的处理、模板引擎的使用(代码中体现)、持久层的集成、拦截器和全局异常处理。一般包括这些东西的话,基本上一个 Spring Boot 项目环境就差不多了,然后就是根据具体情况来扩展了。