zoukankan      html  css  js  c++  java
  • 获取Excel文件内容,0307通用

    import java.io.InputStream;
    import java.util.Date;
    
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Sheet;
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    public class ReadExcel {
      @SuppressWarnings("deprecation")
      public static Object readExcel(InputStream is,Workbook workbook,Sheet sheet,int h,int l,String bb){
      //行:h,列:l,判断标志:bb
      Cell cell;
      if(bb.equals("03")){
        HSSFRow row=(HSSFRow) sheet.getRow(h);
        cell=row.getCell(l);
      }else{ 
        XSSFRow row=(XSSFRow) sheet.getRow(h);
        cell=row.getCell(l);
      } 
      if(cell==null||"".equals(cell)){
        return null;
      }else{
        switch (cell.getCellType()) {
          case Cell.CELL_TYPE_NUMERIC:
          return (Date) cell.getDateCellValue();
          case Cell.CELL_TYPE_STRING:
          return cell.getStringCellValue();
          case Cell.CELL_TYPE_BOOLEAN:
          return cell.getBooleanCellValue();
          case Cell.CELL_TYPE_ERROR:
          return Cell.CELL_TYPE_ERROR;
          case Cell.CELL_TYPE_FORMULA:
          String value=String.valueOf(cell.getNumericCellValue());
          if(value.equals("NaN")){
            return cell.getStringCellValue();
          }else{
            return value;
          }
          case Cell.CELL_TYPE_BLANK:
          return null;
          default:
          return cell.getStringCellValue().toString();
        }
      }
    }

     

    import java.io.IOException;
    import java.io.InputStream;
    //调用方法(有些注解其实可以不要)
    @SuppressWarnings("deprecation")
    @RequestMapping(value = "insertExcel.do", method = RequestMethod.POST,produces="text/html;charset=utf-8")
    @ResponseBody
    @ResponseBody
    public String insertExcelCQ(@RequestParam("fkxx")MultipartFile excel,……) throws UnsupportedEncodingException {
      try {
        …… 
        InputStream is = excel.getInputStream();
        //调用Service中的方法
        riskmesService.insertExcel(is, ……);
        ……
        return string;
      } catch (Exception e) {
        ……
        return string;
      }
    }

     

     

    
    
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.Sheet;
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    //Service中的方法
    public void insertExcel(InputStream is,……){
      Workbook workbook;
      Sheet sheet;
      String bb;
      //根据版本分别定义参数
      try {
        try{
          bb="07";
          workbook=new XSSFWorkbook(is);
          sheet=(XSSFSheet) workbook.getSheetAt(0);
        }catch(Exception e){
          bb="03";
          workbook=new HSSFWorkbook(is);
          sheet=(HSSFSheet) workbook.getSheetAt(0); 
        }
        //循环遍历所有行(行数和列数都是从0开始的)
        for(int i=2;i<sheet.getPhysicalNumberOfRows();i++){
          …… 
          String str1=ReadExcel.readExcel(is, workbook, sheet, i, 1, bb);//获取i行1列的数据
          String str2=ReadExcel.readExcel(is, workbook, sheet, i, 2, bb);//获取i行2列的数据
          ……
      }
    } 

     

     

     

    需要的包

     

  • 相关阅读:
    DB2 中like的通配符以及escape关键字定义转义字符的使用
    Java编译后产生class文件的命名规则
    在Servlet的GenericServlet类中为什么有两个init()方法
    Java Web开发笔记
    EL表达式
    将NSString转换编码集变为GBK或GB2312
    转,ios开源程序集
    整理 被appstore 拒绝审核通过的原因
    在程序中如何把两张图片合成为一张图片
    object c 操作date类型
  • 原文地址:https://www.cnblogs.com/IceBlueBrother/p/8421779.html
Copyright © 2011-2022 走看看