poi读取xlsx和xls

使用poi读取,jxl对于excel2007不支持

 

1. 读取xlsx 数据

    InputStream fs 
 

   XSSFWorkbook workbook = new XSSFWorkbook(fs);
   XSSFSheet st = workbook.getSheetAt(0);

   for (int rowNumOfSheet = 1; rowNumOfSheet <= st.getLastRowNum(); rowNumOfSheet++) {
    if (null != st.getRow(rowNumOfSheet)) {
     XSSFRow aRow = st.getRow(rowNumOfSheet); // 获得一个行

     int cols = 0;
     CarData carData = new CarData();
     carData.setProvince(getCellXlsx(aRow.getCell(++cols)));

    }

  }

 

 

public String getCellXlsx(XSSFCell cell) {
  if (cell == null)
   return "";

  switch (cell.getCellType()) {
  case XSSFCell.CELL_TYPE_NUMERIC:
   if (HSSFDateUtil.isCellDateFormatted(cell)) {
    Date d = cell.getDateCellValue();
    return formater.format(d);
   } else {
    return df.format(cell.getNumericCellValue());
   }
  case XSSFCell.CELL_TYPE_STRING:
   return cell.getStringCellValue();
  case XSSFCell.CELL_TYPE_FORMULA:
   return cell.getCellFormula();
  case XSSFCell.CELL_TYPE_BLANK:
   return "";
  case XSSFCell.CELL_TYPE_BOOLEAN:
   return cell.getBooleanCellValue() + "";
  case XSSFCell.CELL_TYPE_ERROR:
   return cell.getErrorCellValue() + "";
  }
  return "";
 }

 

2.读取xls 数据

   HSSFWorkbook workbook = new HSSFWorkbook(fs);
   HSSFSheet st = workbook.getSheetAt(0);

   for (int rowNumOfSheet = 1; rowNumOfSheet <= st.getLastRowNum(); rowNumOfSheet++) {
    if (null != st.getRow(rowNumOfSheet)) {
     HSSFRow aRow = st.getRow(rowNumOfSheet); // 获得一个行

     int cols = 0;
     CarData carData = new CarData();
     carData.setProvince(getCell(aRow.getCell(++cols)));
    }

   }

 

public String getCell(HSSFCell cell) {
  if (cell == null)
   return "";
  switch (cell.getCellType()) {
  case HSSFCell.CELL_TYPE_NUMERIC:
   if (HSSFDateUtil.isCellDateFormatted(cell)) {
    Date d = cell.getDateCellValue();
    return formater.format(d);
   } else {
    return df.format(cell.getNumericCellValue());
   }
  case HSSFCell.CELL_TYPE_STRING:
   return cell.getStringCellValue();
  case HSSFCell.CELL_TYPE_FORMULA:
   return cell.getCellFormula();
  case HSSFCell.CELL_TYPE_BLANK:
   return "";
  case HSSFCell.CELL_TYPE_BOOLEAN:
   return cell.getBooleanCellValue() + "";
  case HSSFCell.CELL_TYPE_ERROR:
   return cell.getErrorCellValue() + "";
  }
  return "";
 }

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值