MultipartHttpServletRequest mr=(MultipartHttpServletRequest) request;
MultipartFile file = mr.getFile("file");
InputStream input = file.getInputStream();
HSSFWorkbook wb=new HSSFWorkbook(input);
HSSFSheet hssfsheet=wb.getSheetAt(0);
if(hssfsheet!=null){
for(int rownum=1;rownum<hssfsheet.getLastRowNum();rownum++){
HSSFRow row=hssfsheet.getRow(rownum);
if(row!=null){
System.out.println(row.getCell(0)+"....."+row.getCell(1)+"......."+row.getCell(2));
}
}
}
execl导入的时候 时间格式为数字类型的double类型需要进一步判断
private static String getCellFormatValue(HSSFCell cell) {
String cellvalue = "";
if (cell != null) {
// 判断当前Cell的Type
System.out.println(cell.getCellType());
switch (cell.getCellType()) {
// 如果当前Cell的Type为NUMERIC
case HSSFCell.CELL_TYPE_NUMERIC:
case HSSFCell.CELL_TYPE_FORMULA: {
// 判断当前的cell是否为Date
if (HSSFDateUtil.isCellDateFormatted(cell)) {//判断是否为时间格式
// 如果是Date类型则,转化为Data格式
// 方法1:这样子的data格式是带时分秒的:2011-10-12 0:00:00
// cellvalue = cell.getDateCellValue().toLocaleString();
// 方法2:这样子的data格式是不带带时分秒的:2011-10-12
Date date = cell.getDateCellValue();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cellvalue = sdf.format(date);
}
// 如果是纯数字
else {
// 取得当前Cell的数值
//cellvalue = String.valueOf(cell.getNumericCellValue());
BigDecimal db = new BigDecimal(cell.getNumericCellValue());
cellvalue= db.toPlainString();
}
break;
}
// 如果当前Cell的Type为STRIN
case HSSFCell.CELL_TYPE_STRING:
// 取得当前的Cell字符串
cellvalue = cell.getRichStringCellValue().getString();
break;
// 默认的Cell值
default:
cellvalue = " ";
}
} else {
cellvalue = "";
}
return cellvalue;
}
execl导入的时候 时间格式为数字类型的double类型需要进一步判断
private static String getCellFormatValue(HSSFCell cell) {
String cellvalue = "";
if (cell != null) {
// 判断当前Cell的Type
System.out.println(cell.getCellType());
switch (cell.getCellType()) {
// 如果当前Cell的Type为NUMERIC
case HSSFCell.CELL_TYPE_NUMERIC:
case HSSFCell.CELL_TYPE_FORMULA: {
// 判断当前的cell是否为Date
if (HSSFDateUtil.isCellDateFormatted(cell)) {//判断是否为时间格式
// 如果是Date类型则,转化为Data格式
// 方法1:这样子的data格式是带时分秒的:2011-10-12 0:00:00
// cellvalue = cell.getDateCellValue().toLocaleString();
// 方法2:这样子的data格式是不带带时分秒的:2011-10-12
Date date = cell.getDateCellValue();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cellvalue = sdf.format(date);
}
// 如果是纯数字
else {
// 取得当前Cell的数值
//cellvalue = String.valueOf(cell.getNumericCellValue());
BigDecimal db = new BigDecimal(cell.getNumericCellValue());
cellvalue= db.toPlainString();
}
break;
}
// 如果当前Cell的Type为STRIN
case HSSFCell.CELL_TYPE_STRING:
// 取得当前的Cell字符串
cellvalue = cell.getRichStringCellValue().getString();
break;
// 默认的Cell值
default:
cellvalue = " ";
}
} else {
cellvalue = "";
}
return cellvalue;
}