美文网首页
POI设置日期类型时间约束createDateConstrain

POI设置日期类型时间约束createDateConstrain

作者: 醉鱼java | 来源:发表于2023-06-20 22:57 被阅读0次

    背景

    在使用 POI 导出 excel 时间类型加入时间约束时,发生了使用 Excel 打开无法正确使用时间约束的问题,但是在 永中Office 打开可以使用

    关键词

    helper.createDateConstraint,POI设置时间约束

    设置时间约束的代码如下

    该代码是有问题的,正确的代码在文章末尾

    String dateFormat = "yyyy/MM/dd";
                String start = "1900,01,01";
                String end = "2399,12,30";
                constraint = helper.createDateConstraint(DataValidationConstraint.OperatorType.BETWEEN, start, end, dateFormat);
    

    解决思路

    1、排查使用 POI 设置的时间约束与在 Excel 中创建的时间约束有什么不通

    2、修改格式化日期格式测试是否可以生效

    3、修改日期范围大小测试是否生效

    4、查看 createDateConstraint 方法接收的参数各是什么意思,需要什么格式

    5、查阅网上资料

    问题所在

    经过上面几步的排查,初步确定应该是设置的日期格式问题,但是不懂如何正确设置,所以交给了优秀的互联网,google 一下,此时发现一篇文章写的不错(http://t.csdn.cn/OyWGv),解决了我的问题,然后继续查阅引用链接(https://www.demo2s.com/java/apache-poi-datavalidationhelper-createdateconstraint-int-operatortype.html),最终找到了答案,解决问题

    最终代码

     String dateFormat = "yyyy/MM/dd";
                String start = "Date(1900,01,01)";
                String end = "Date(2399,12,30)";
                constraint = helper.createDateConstraint(DataValidationConstraint.OperatorType.BETWEEN, start, end, dateFormat);
    

    即将设置的日期加入 Date 的包装即可

    参考链接

    1、https://www.demo2s.com/java/apache-poi-datavalidationhelper-createdateconstraint-int-operatortype.html

    2、http://t.csdn.cn/OyWGv

    本文由mdnice多平台发布

    相关文章

      网友评论

          本文标题:POI设置日期类型时间约束createDateConstrain

          本文链接:https://www.haomeiwen.com/subject/loduydtx.html