poi批量导入

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;
 } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值