填报提交前格式判断

image.png如图如何用公式判断是不是日期和时间格式,单元格是设置了日期和时间控件的,但是EXCEL导入的话不起作用。image.png

FineReport yoyo鹿铭 发布于 2022-6-2 14:11 (编辑于 2022-6-2 14:55)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-6-2 14:12(编辑于 2022-6-2 14:33)

直接用日期控件

OR(LEN(I10) <= 0, REGEXP(I10, "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)"))

image.png

  • yoyo鹿铭 yoyo鹿铭(提问者) 已经是设置了日期控件,但是是EXCEL导入的话就没用了。
    2022-06-02 14:13 
  • Z4u3z1 Z4u3z1 回复 yoyo鹿铭(提问者) 那就在填报属性中选中数据校验的选项卡,然后用REGEXP()函数用正则校验
    2022-06-02 14:31 
  • Z4u3z1 Z4u3z1 回复 yoyo鹿铭(提问者) 上面补充了正则校验公式,用的I10单元格,改成你的就对了
    2022-06-02 14:33 
  • yoyo鹿铭 yoyo鹿铭(提问者) 回复 Z4u3z1 好像不行,你看我上面的图片,EXCEL导入的会报错,手工填的没问题
    2022-06-02 14:56 
  • Z4u3z1 Z4u3z1 回复 yoyo鹿铭(提问者) 这个就涉及到excel中单元格的格式了,你把excel中日期所在列改成文本就校验通过了
    2022-06-02 15:17 
最佳回答
0
qiqits1984Lv6中级互助
发布于2022-6-2 14:13(编辑于 2022-6-2 14:16)

使用日期控件 选择日期

image.png

  • yoyo鹿铭 yoyo鹿铭(提问者) 已经是设置了日期控件,但是是EXCEL导入的话就没用了。
    2022-06-02 14:14 
  • qiqits1984 qiqits1984 回复 yoyo鹿铭(提问者) 单元格 格式设置为日期
    2022-06-02 14:16 
  • yoyo鹿铭 yoyo鹿铭(提问者) 回复 qiqits1984 也已经设置了 没用
    2022-06-02 14:27 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-6-2 14:17(编辑于 2022-6-2 15:02)

提交前做一个校验去判断如果不是日期就直接不让提交这样就行了。。。因为你是导入。所以单元格限制不到它。那么就在提交前校验

这样行不行?导入和手工录入都可以校验到的。。。

image.png

最佳回答
0
snrtuemcLv8专家互助
发布于2022-6-2 14:17

在填报属性里 数据校验写这个公式

REGEXP(A1,'^[0-9]{4}-[0-9]{2}

  • yoyo鹿铭 yoyo鹿铭(提问者) 这个函数貌似也不能完全解决,像2022-02-31这种应该是没办法检查出来的
    2022-06-02 14:47 
  • snrtuemc snrtuemc 回复 yoyo鹿铭(提问者) 额。。。
    2022-06-02 14:51 
最佳回答
0
omydaiLv5见习互助
发布于2022-6-2 14:20

如果你数据库的字段为日期,不是日期也导不进去吧,报错的时候就能看了

  • 5关注人数
  • 414浏览人数
  • 最后回答于:2022-6-2 15:02
    请选择关闭问题的原因
    确定 取消
    返回顶部