问题描述
最近做一个Excel导入,但是在java后台接受的时候,提示类型不正确
java.lang.IllegalStateException: Cannot get a FORMULA value from a NUMERIC formula cell
at org.apache.poi.hssf.usermodel.HSSFCell.typeMismatch(HSSFCell.java:654)
at org.apache.poi.hssf.usermodel.HSSFCell.getCellFormula(HSSFCell.java:646)
at com.avg.web.SignDetailAction.uploadSigner(SignDetailAction.java:206)
at com.avg.web.SignDetailAction$$EnhancerByCGLIB$$4f0db98c.CGLIB$uploadSigner$5(<generated>)
at com.avg.web.SignDetailAction$$EnhancerByCGLIB$$4f0db98c$$FastClassByCGLIB$$65a5c327.invoke(<generated>)
类型不匹配
导入的模板如下:
对于手机号码,我肯定是当做一个字符串处理,直接使用:
row.getCell(2).getStringCellValue()
就出现IllegalStateException 这样的错误,应该如何解决
问题解决
1. 一开始我从Excel 设置上导入,Excel单元格我设置为文本,,常规,导入发现后台都会出现这个的错误
2. 我开始思考其他的解决方案
row.getCell(2).setCellType(CellType.STRING);
phonenum = row.getCell(2).getStringCellValue();
在获取值之前先设置单元格的格式 问题解决
希望对你有所帮助