java实现Excel表格的导入日期变成数字的问题

    java实现导入时可能会出现读取的日期变成了例如41731的数字,根据参考https://blog.csdn.net/boyan1344/article/details/108625028的文章解决了问题,自己做个笔记。

    在读取数据时,我直接将数据格式设置为String ----->cell.setCellType(Cell.CELL_TYPE_STRING);

在业务层处理:

Calendar calendar = Calendar.getInstance();

System.out.println(item.getCARD_HAVE_UNIT_DATE()); 

SimpleDateFormat sf =new SimpleDateFormat("yyyy/MM/dd");//时间格式话

Date parse = sf.parse("1900/01/01");

int i = Integer.parseInt(item.getCARD_HAVE_UNIT_DATE());

calendar.setTime(parse);

calendar.add(Calendar.DATE,i-2);     //i-2的原因是实际天数比获取的天数少2天

String format = sf.format(calendar.getTime());

System.out.println(format);

输出结果

41731    //直接读取的数据

2014/04/02  //格式化后的数据

Wed Apr 02 00:00:00 CST 2014  //获取的数据  未格式化


再次附上原文章链接:

https://blog.csdn.net/boyan1344/article/details/108625028

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容