org.apache.poi.hssf.usermodel.HSSFCell.CELL_TYPE_FORMULA,判断cell的格式,取出相应的值java.util.Date msg4 = cell2.getDateCellValue() ;

解决方案 »

  1.   

    cell2.getDateCellValue()好像没有这个方法
      

  2.   

    cell.getDateCellValue()有这个方法,查一下你的包,版本、路径
    org.apache.poi.hssf.usermodel.HSSFCell,有这个类吗?
      

  3.   

    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import java.io.FileInputStream;
    public class ReadXL {
     /** Excel文件的存放位置。注意是正斜线*/
     public static String fileToBeRead="D:/JTest/ gongye.xls";
     public static void main(String argv[]){ 
     try{
      // 创建对Excel工作簿文件的引用
      HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
      // 创建对工作表的引用。
      // 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")
      HSSFSheet sheet = workbook.getSheet("Sheet1");
      // 也可用getSheetAt(int index)按索引引用,
      // 在Excel文档中,第一张工作表的缺省索引是0,
      // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
      // 读取左上端单元
      HSSFRow row = sheet.getRow(0);
      HSSFCell cell = row.getCell((short)0);
      // 输出单元内容,cell.getStringCellValue()就是取所在单元的值
      System.out.println("左上端单元是: " + cell.getStringCellValue()); 
     }catch(Exception e) {
      System.out.println("已运行xlRead() : " + e );
     }
    }
    }
      

  4.   

    楼上的,用cell.getStringCellValue() 有个问题,如果cell里的值是数字类型的话
    比如 12456 会有异常的,只能先判断类型才能再用合适的函数读取.