java读写excel时出现Cannot get a NUMERIC value from a STRING cell的解决方法

最近用java对excel进行读写操作时出现了了


Cannot get a NUMERIC value from a STRING cell异常,调试了半天,在网上也找了好多方法。试了都没能解决,还是得靠自己啊!

调试发现出现异常的代码是下面这几句,这几句是将excel中的一个日期值读取出来保存到数据库中。

if(cell6.getDateCellValue()!=null){
      user.setBirthday(cell6.getDateCellValue());

 }

打开我的excel数据是这样的

java读写excel时出现Cannot get a NUMERIC value from a STRING cell的解决方法_第1张图片

后来将代码改了改,读取成功。更改后的代码如下:

if(cell6.getStringCellValue()!=null){
      user.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse(cell6.getStringCellValue()));
     }

但换了另外一个excel进行读取时有出现了Cannot get a NUMERIC value from a STRING cell异常。很郁闷!!!

后来发现是excel格式的问题,这个excel日期值的格式是日期类型,而上一个excel是常规类型。

java读写excel时出现Cannot get a NUMERIC value from a STRING cell的解决方法_第2张图片

至此问题解决了,若excel中单元格格式是“常规”类型就用修改后的代码,“日期”类型就用修改前的代码。



你可能感兴趣的:(java,excel,POI)