问题描述

最近做一个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>)

类型不匹配

导入的模板如下:

java Excel 导入  IllegalStateException 异常处理 不同的数据类型_apache


对于手机号码,我肯定是当做一个字符串处理,直接使用:

row.getCell(2).getStringCellValue()

就出现IllegalStateException 这样的错误,应该如何解决

问题解决

1. 一开始我从Excel 设置上导入,Excel单元格我设置为文本,,常规,导入发现后台都会出现这个的错误
2. 我开始思考其他的解决方案
.getCell(2).setCellType(CellType.STRING);
phonenum = row.getCell(2).getStringCellValue();

在获取值之前先设置单元格的格式 问题解决

希望对你有所帮助