我是每次取一行,所以getcell()时是根据有数字或者是日期的那行行数来取的(从0开始记)例如下面在excel中的第二列是数字,所以我取的时候就预先把第二列的类型转成String,再取值;时间也是同样的道理,利用poi里面提供的方法先判断是否是日期类型,然后在进行处理后取值
数字:
row.getCell(1).setCellType(Cell.CELL_TYPE_STRING);//把数字转成字串
row.getCell(1).getStringCellValue();//然后再取这格的值
日期:
if (HSSFDateUtil.isCellDateFormatted(row.getCell(11))) {// 处理日期格式、时间格式 先要判断是否是时间格式,这个需要知道哪列是时间
SimpleDateFormat sdf = null;
sdf = new SimpleDateFormat("yyyy-MM-dd"); //设置转成的时间格式
Date date = row.getCell(11).getDateCellValue();//取得的是date类型
String shijian = sdf.format(date)//这里是转成String类型了,要哪种按个人需求
}