excel里面是字符串类型和数据类型,有带小数点的,有不带的,
有几个字段在excel是数据类型
在数据库存的是String和date现在我要读取这个excel,读到数据类型时
case   HSSFCell.CELL_TYPE_NUMERIC: 
value +=String.valueOf((long)cell.getNumericCellValue())+"\t";
这样会把小数点给去了

解决方案 »

  1.   


    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 = "";
    }