[alibaba/easyexcel]为什么用String.class类型读取excel中 2019/06/08 这种格式的数据时,读取结果为5位整数

2024-04-26 578 views
7

作者你好:为什么用String.class类型读取excel中 2019/06/08 这种格式的数据时,读取结果为5位整数。

非常感谢!

回答

9

这个数字是以1900年为原点,到该日期之间经过的天数,在解析的时候,拿到这个天数,在拿到1900年的日期(calendar.getTime()),在这个日期上加上这些天数(DateUtils.addDays()),在进行格式化转为对应日期格式即可。

8

这个能否在easyExcel中直接处理成Date类型呢

5

有两种办法:

  1. Date类型接收,EasyExcel直接转好了。参见:TypeUtil.convert方法。
  2. AnalysisEventListener.invoke方法中自定义处理,拿到读取到的天数调用HSSFDateUtil.getJavaDate方法也获取到日期。
8

有两种办法:

  1. Date类型接收,EasyExcel直接转好了。参见:TypeUtil.convert方法。
  2. AnalysisEventListener.invoke方法中自定义处理,拿到读取到的天数调用HSSFDateUtil.getJavaDate方法也获取到日期。

恩,方法1我试过了,确实可以,但是有问题就是excel填写格式不当,或者不填都会返回null,业务线那边没办法判断,以便于提示用户; 方法2我再试一下看能不能满足需求