poi excel导入到数据库 一个字段中有String型也有int型的 要怎么读取这个单元格的值 全变成String的??

解决方案 »

  1.   

    /**
     * 通过判断获取单元格值
     * @param cell 单元格
     * @return
     */
    public static String showCellValue(HSSFCell cell)
    {
    String value = "";
    if (cell != null)
    {
    switch (cell.getCellType()) 
    {
    case HSSFCell.CELL_TYPE_NUMERIC:
    if (HSSFDateUtil.isCellDateFormatted(cell)) // 如果是date类型则 ,获取该cell的date值 
    value = DateUtils.getDateTime(HSSFDateUtil.getJavaDate(cell.getNumericCellValue()), "yyyy-MM-dd HH:mm:ss");
    else // 纯数字 
    value = String.valueOf(cell.getNumericCellValue());
    break;
    case HSSFCell.CELL_TYPE_STRING: // 此行表示单元格的内容为string类型
    value = cell.getRichStringCellValue().toString();
    break;
    case HSSFCell.CELL_TYPE_BOOLEAN:// 布尔 
    value = " " + cell.getBooleanCellValue();
    break;
    case HSSFCell.CELL_TYPE_BLANK: // 此行表示该单元格值为空
    value = "";
    break;
    case HSSFCell.CELL_TYPE_ERROR: // 故障 
    value = "";
    break;
    default:
    value = String.valueOf(cell.getNumericCellValue());
    }
    }
    return value;
    }
      

  2.   


    lz的意思是单元格中有:TEST124这样的数据么?既包含数字也包含字符。。
    应该不存在你说的有String型也有int型吧一个格子怎么会包含两种类型呢?不可能像上面那种数据还是String类型。。就像java中字符串+数字一样属于String。取的时候按String类型取
      

  3.   

    Cell cell_ = row.getCell(j);
    String cell = cell_.toString().trim();这样使每个单元格的类型都为String的