最近用java对excel进行读写操作时出现了了
Cannot get a NUMERIC value from a STRING cell异常,调试了半天,在网上也找了好多方法。试了都没能解决,还是得靠自己啊!
调试发现出现异常的代码是下面这几句,这几句是将excel中的一个日期值读取出来保存到数据库中。
if(cell6.getDateCellValue()!=null){
user.setBirthday(cell6.getDateCellValue());
}
打开我的excel数据是这样的
后来将代码改了改,读取成功。更改后的代码如下:
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是常规类型。
至此问题解决了,若excel中单元格格式是“常规”类型就用修改后的代码,“日期”类型就用修改前的代码。