错误代码:
System.out.println((String)cell.getStringCellValue());
Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串需要设置类型
问题:
Exception in thread "main" java.lang.IllegalStateException: Cannot get a text value from a numeric cell
at org.apache.poi.hssf.usermodel.HSSFCell.typeMismatch(HSSFCell.java:640)
at org.apache.poi.hssf.usermodel.HSSFCell.getRichStringCellValue(HSSFCell.java:717)
at org.apache.poi.hssf.usermodel.HSSFCell.getStringCellValue(HSSFCell.java:700)
at test.pom.api.TestCase.TestCaseRead(TestCase.java:59)
at test.pom.api.TestCase.main(TestCase.java:16)
解决:
for(int j = 0;j<colNum+1;j++){
if(row.getCell(j)!=null){
//先设置Cell的类型,然后就可以把纯数字作为String类型读进来了:
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
Cell cell = row.getCell(j);
System.out.println((String)cell.getStringCellValue());
}
}