java项目中Excel文件导入后日期数据解析变成数字的解决方法

您所在的位置:网站首页 文本日期转化为日期型数据并存入表格 java项目中Excel文件导入后日期数据解析变成数字的解决方法

java项目中Excel文件导入后日期数据解析变成数字的解决方法

2024-07-14 07:22| 来源: 网络整理| 查看: 265

问题描述:springboot项目,Excel 文件导入后日期数据解析变成数字。在项目开发过程中,若使用POI读取Excel 文件中的日期数据,可能会出现日期数据解析变成数字的情况。

在解析Excel 文件时,会发现表格中显示的日期会变成数字,实际上Excel 表格中存储日期数据的格式就是数字,但我们看到的是日期数据,所以直接从Excel 的 Cell中读取数据后就会出现 日期变成数字的假象。

由于Excel 中的时间是以1900年为起点,读取得到的数字则是自1900年以来经过的天数差值。

在这里插入图片描述 解决方案:

Calendar calendar = new GregorianCalendar(1900,0,-1); Date date = DateUtils.addDays(calendar.getTime(),这个地方填入提取出来的整型数字即可);

示例代码:在这里插入图片描述 这样得到的date就是正常的日期了。

另一个坑:

Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串时就有可能出现异常:Cannot get a STRING value from a NUMERIC cell 所以将需要读的excel文件中的每个Cell设置为String格式即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3