报表工具之数据校验竟可以如此简单
1、要求:
工资录入的数据必须是数值。
设置如下:
选中工资所在单元格H3,右侧属性 -- 表达式 -- 数据类型,选择数值型即可。
2、效果:
当工资输入非数值时,单元格失去焦点后,便会弹出提示“请输入数值!”,如下图
1、这个栗子我们从多个较多进行分析讲解:
角度1:
要求在原来数据类型的基础上,限定工资最多可录入两位小数。
设置如下:
菜单栏 中选择 填报 – 单元格校验,新增单元格校验表达式,其中,
表达式为:(/^\d{0,8}\.{0,1}(\d{1,2})?$/).test(H3)
意为:H3单元格内容必须包含0~8位整数,可带0~1个小数点和1~2位小数
出错提示为:工资金额,最多两位小数 如下图
2、效果:
当输入工资金额小数多于两位时,单元格失焦后,便会弹出预先指定提示信息,如下图:
3、角度2:
要求邮政编码必须输入6个数字组成的数值串且首位数值不能为0 。
设置如下:
菜单栏 中选择 填报 – 单元格校验,新增单元格校验表达式,其中
表达式为:D5.toString().match(/^[1-9]\d{5}$/
意为:D5单元格的字符串,首位必须是1-9之间的数字,其5位后随意取5位数字。
出错提示为:邮政编码必须是首位不为0且长度需为6位的纯数字 如下图
4、效果:
当输入邮政编码输入数值串为数超出6位且首位数字为0时,单元格失焦后,便会弹出预先指定提示信息,如下图:
5、角度3:
要求员工表中姓名列必须填写,不能为空。
设置如下:
菜单栏 中选择 填报 – 单元格校验,新增单元格校验表达式,其中
表达式为:C3!=null&&C3!=""
出错提示为:姓名不能为空! 如下图
6、效果:
当管理员录入员工信息忘记输入姓名时,单元格失焦后,便会弹出预先指定提示信息,如下图:
1、要求:
筛选面板中选择的截止日期不能早于起始日期,否则给出提示且不能进行查询。
设置如下:
筛选面板 菜单栏 报表 报表属性 其他选项卡,有效性校验脚本中写入方法,如下图:
2、其中,startDate为起始日期的web变量名,endDate为截止日期的web变量名。
方法为:
if (getParamValue("startDate") > getParamValue("endDate")){
alert("起始日期不能大于截止束日期!");
return false;
}
return true;
3、效果:
当筛选面板中选择的起始时间早于截止时间时,点击查询便会弹出提示,提醒用户修改。如下图
1、要求:
报表组中的关联项需要保持一致,或者计算后结果保持一致。例如:报表组中包含订单表和订单明细表,那么订单明细表中所有产品的订单金额总和就必须跟订单表中的订单金额保持一致,否则,给出错误提示不允许数据入库。
设置如下:
报表组中 菜单栏 填报 格间校验,新增格间校验表达式,其中
表达式为:订单!H6==订单明细!G5
出错提示为:订单明细中总金额和订单中金额不一致!
注:表达式中“订单”和“订单明细”分别代表报表组中订单表和订单明细表的sheet页名称,见下图标注,H6和G5分别对应订单表和订单明细表中的单元格,感叹号为连接符
2、效果:
订单明细中,所有产品金额总和为1810,如下图:
3、那么如果在订单明细中输入其他值,在提交保存时,就会给出错误提示。如下图: