用POI操作Excel时,总是遇到错误,不能读数据,考虑原因是cell中没有任何数据,也不包括任何数据类型,因此对该cell的任何操作都是错误的,包括cell1.getCellType(),得不到cell的类型。
例:Row中有5列数据,但是第3列中的cell没填写任何数据。就会出现上述问题,解决方法是判断cell是否为空。
for(int j=1;j<cellnum2;j++){
HSSFCell cell1=row1.getCell((short)j);
if(cell1!=null){
String colvalue="";
switch(cell1.getCellType()){
case HSSFCell.CELL_TYPE_NUMERIC:
{
double val1=cell1.getNumericCellValue();
colvalue=Double.toString(val1);
break;
}
case HSSFCell.CELL_TYPE_STRING:
{
colvalue=cell1.getStringCellValue().trim();
break;
}
}
}
else {
cell1 = row1.createCell((short)j);
cell1.setCellType(HSSFCell.CELL_TYPE_STRING);
cell1.setCellValue("");
}
}