用的包:poi 3.6
这个错:
Cannot get a numeric value from a text cell
报错的语句:
 String a0=String.valueOf((long)cell.getNumericCellValue());--------------------------
excel文件格式:(单元格格式都是“常规”)0470200005 2010-11-2  内蒙 2010-11-3 预计鄂温克自治...
0470200004 2010-11-2          内蒙 2010-11-3 预计满洲里市11...
470200010          2010-11-2       内蒙 2010-11-3 预计新巴尔虎右...
0470200009 2010-11-2   内蒙 2010-11-3 预计牙克石市11...
0470200003 2010-11-2  内蒙 2010-11-3 预计新巴尔虎左...
----------------------------------------试了很多方法都不能解决,在此求助了!!

解决方案 »

  1.   

    getNumericCellValue()应该只是用在那些EXCEL中为数字类型的列吧,我看你的Excel文件里的列都不是数字类型的啊,能不能把getNumericCellValue()换成一个取得String类型的方法?
      

  2.   

    switch(cell.getCellType()){
       //如果当前cell的type为NUMERIC
                   case HSSFCell.CELL_TYPE_NUMERIC: 
                   //case HSSFCell.CELL_TYPE_FORMULA:
                   {
                     //判断是否为日期类型
                    if(HSSFDateUtil.isCellDateFormatted(cell)){
                    Date date = cell.getDateCellValue();
                    temp_Obj = sdf.format(date);
                    }else{
                    temp_Obj = cell.getNumericCellValue()+"";
                    }
                   }
                       break;
                   case Cell.CELL_TYPE_STRING:
                    temp_Obj = cell.getStringCellValue();
                    break;
                   case Cell.CELL_TYPE_BLANK:
                    temp_Obj = "";
                    break;
    }
      

  3.   

    应该用这个方法getStringCellValue
      

  4.   

    樓上的都是正解,這個問題我以前碰到過。你是從Excel中讀取數據的話,直接當作String讀取出來再轉就好了,如果想寫入Excel數字數據,那就要寫一個CellStyle
      

  5.   

    类型不匹配!excel中的内型和你取的是不匹配的!