永发信息网

用POI操作Excel,出现空指针异常,怎么办

答案:2  悬赏:70  手机版
解决时间 2022-01-01 04:26
  • 提问者网友:王者佥
  • 2021-12-31 06:31
用POI操作Excel,出现空指针异常,怎么办
最佳答案
  • 五星知识达人网友:不甚了了
  • 2021-12-31 06:50
public static String getStringCellValue(Cell cell) {
if(cell==null){
return null;
}
String value = "";
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
value = cell.getStringCellValue();
break;
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
if (date != null) {
value = new SimpleDateFormat("yyyy-MM-dd").format(date);
} else {
value = "";
}
} else {
value =
new DecimalFormat("0").format(cell.getNumericCellValue());
}
break;
case Cell.CELL_TYPE_FORMULA: //导入时如果为公式生成的数据则无值
// System.out.println("Formula:" + cell.getStringCellValue());
if (!cell.getStringCellValue().equals("")) {
value = cell.getStringCellValue();
} else {
value = cell.getNumericCellValue() + "";
}
break;
case Cell.CELL_TYPE_BLANK:
break;
case Cell.CELL_TYPE_ERROR:
value = "";
break;
case Cell.CELL_TYPE_BOOLEAN:
value = (cell.getBooleanCellValue() == true ? "Y" : "N");
break;
default:
value = "";
}
return value;
}
全部回答
  • 1楼网友:慢性怪人
  • 2021-12-31 07:11
1. 单元格的起始坐标是(0,0),也就是说第x行,第x列的单元格坐标是(x-1,y-1) 2. 取值之前要判断类型: if (number_cell.getcelltype() == xssfcell.cell_type_numeric)  {……   } else if (number_cell.getcelltype() == xssfcell.cell_type_string)  {……   } else if (number_cell.getcelltype() == xssfcell.cell_type_formula)  {……   }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯