excel批量导入数据如何校验某一列为固定格式?

在使用excel批量导入的时候,我想控制某一列的值必须为YYYY-MM这个格式(如:2016-07),请问如何设置?
FineReporthbyanghua 发布于 2016-7-21 15:08
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共13回答
最佳回答
0
yets11发布于2016-7-21 15:08(编辑于 2023-9-6 09:34)
555
  • hbyanghua hbyanghua(提问者)

    谢谢啊,我开始也是这么想的,是我的正则表达式写错了。
    回复
    2016-07-21 16:55 
最佳回答
0
windy_gui发布于2016-7-21 15:43(编辑于 2023-9-6 09:34)
555
  • hbyanghua hbyanghua(提问者)

    你这样也是不行的,比如excel中的格式为[attach]40276[/attach]

    导入后格式为
    [attach]40275[/attach]

    我是想在做提交的时候对这一列做一个校验,这一列的格式为“2016-07”这样的
    回复
    2016-07-21 15:51 
最佳回答
0
hbyanghua发布于2016-7-21 15:51(编辑于 2023-9-6 09:34)
555
  • windy_gui windy_gui

    填报的数据你要限定规则啊,不然的话麻烦的是你自己,是可以做,用填写规则正则表达式,但是你这个时间格式的就难办了,((^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._])(10|12|0?[13578])([-\\/\\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._])(11|0?[469])([-\\/\\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._])(0?2)([-\\/\\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\\/\\._])(0?2)([-\\/\\._])(29)$)|(^([3579][26]00)([-\\/\\._])(0?2)([-\\/\\._])(29)$)|(^([1][89][0][48])([-\\/\\._])(0?2)([-\\/\\._])(29)$)|(^([2-9][0-9][0][48])([-\\/\\._])(0?2)([-\\/\\._])(29)$)|(^([1][89][2468][048])([-\\/\\._])(0?2)([-\\/\\._])(29)$)|(^([2-9][0-9][2468][048])([-\\/\\._])(0?2)([-\\/\\._])(29)$)|(^([1][89][13579][26])([-\\/\\._])(0?2)([-\\/\\._])(29)$)|(^([2-9][0-9][13579][26])([-\\/\\._])(0?2)([-\\/\\._])(29)$))这是我找到的一段正确的考虑了闰年的日期格式,但是却是年月日的,所以,如果你自己搞得定的话或者有人能帮你搞定的话,你就用填写规则限制吧
    回复
    2016-07-21 16:21 
最佳回答
0
windy_gui发布于2016-7-21 16:21(编辑于 2023-9-6 09:34)
555
最佳回答
0
土肥圆发布于2016-7-21 16:23(编辑于 2023-9-6 09:34)
555
  • hbyanghua hbyanghua(提问者)

    这个问题吧,之前也是说在excel中做好的,后来发现用户根本没有按照要求来,他们录入的格式很新奇啊,比如2016.1.1,2016年1月,2016-1-1,2016年1月1日。。。。。其实要求就是用户导入的格式为2016-01这样的?现在想加个检验来控制一下,不是这样的格式就不能提交入库。
    回复
    2016-07-21 16:27 
  • jchtzc jchtzc 回复 hbyanghua :您好,excle里日期这列必须是文本类型,导入后校验才能好使吧?如果是自定义类型的,excle已显示正确格式,导入后校验还是提示格式不对。您那有这个问题吗?
    回复
    2017-07-11 14:00 
  • hbyanghua hbyanghua(提问者) 遇到过这个问题哈,所以只能要求用户在excel里面的时候就用文本格式啊,只能这样强制要求了,没有其他好的处理办法
    回复
    2017-07-13 09:56 
  • hbyanghua hbyanghua(提问者) 回复 jchtzc ::遇到过这个问题哈,所以只能要求用户在excel里面的时候就用文本格式啊,只能这样强制要求了,没有其他好的处理办
    回复
    2017-07-13 09:57 
最佳回答
0
hbyanghua发布于2016-7-21 16:27(编辑于 2023-9-6 09:34)
555
  • 土肥圆 土肥圆

    这样子的话,楼主你就只能用正则表达式去规范他们了,在填报提交的时候,设置提交校验,
    yyyy-mm这样的正则表达式  ^[12]\\d{3}(0[1-9])|1[0-2]$
    回复
    2016-07-21 16:46 
  • 土肥圆 土肥圆

    我个人建议哦,楼主,你这样改只是改了些特例,等到他们格式又变了,就又坑爹了,所以源头还是要给他们规范格式
    回复
    2016-07-21 16:50 
最佳回答
0
土肥圆发布于2016-7-21 16:46(编辑于 2023-9-6 09:34)
555
最佳回答
0
土肥圆发布于2016-7-21 16:50(编辑于 2023-9-6 09:34)
555
  • hbyanghua hbyanghua(提问者)

    这不是得有个过程么,慢慢让他们改吧!谢谢啦,你很热心哈!
    回复
    2016-07-21 16:52 
最佳回答
0
hbyanghua发布于2016-7-21 16:52(编辑于 2023-9-6 09:34)
555
最佳回答
0
hbyanghua发布于2016-7-21 16:55(编辑于 2023-9-6 09:34)
555
  • 0关注人数
  • 1053浏览人数
  • 最后回答于:2017-7-13 09:57
    活动推荐 更多
    热门课程 更多
    返回顶部