我单元格是数值类型的,但是有可能单元格的内容是字符串,所以我用row.getCell(j).getNumericCellValue();会报错
各位大神求指教

解决方案 »

  1.   


    if (cell != null) {
    // cell.setEncoding(HSSFCell.ENCODING_UTF_16);
    switch (cell.getCellType()) {
    case HSSFCell.CELL_TYPE_STRING:
    value = cell.getStringCellValue();
    break;
    case HSSFCell.CELL_TYPE_NUMERIC:
    if (HSSFDateUtil.isCellDateFormatted(cell)) {
    Date date = cell.getDateCellValue();
    if (date != null) {
    value = sdf.format(date);
    } else {
    value = "";
    }
    } else {
    value = new DecimalFormat("0").format(cell.getNumericCellValue());
    }
    break;
    case HSSFCell.CELL_TYPE_FORMULA:
    if (!cell.getStringCellValue().equals("")) {
    value = cell.getStringCellValue();
    } else {
    value = cell.getNumericCellValue() + "";
    }
    break;
    case HSSFCell.CELL_TYPE_BLANK:
    break;
    case HSSFCell.CELL_TYPE_ERROR:
    value = "";
    break;
    case HSSFCell.CELL_TYPE_BOOLEAN:
    value = (cell.getBooleanCellValue() == true ? "Y" : "N");
    break;
    default:
    value = "";
    }