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

问题描述: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格式即可。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值