首页 > 代码库 > java编程之POI读取excel表格的内容

java编程之POI读取excel表格的内容

07版本的excel需要另外加一个jar包。xbean.jar的jar包

读取代码模板。利用模板介绍读取excel的一些poi的api这是重点

 1 /** 2      * 读取excel文件 3     * @Title: readExcel  4     * @Description: TODO(这里用一句话描述这个方法的作用) 5     * @author 尚晓飞 6     * @date 2014-11-10 上午8:58:01 7     * @param readPath  读取电脑硬盘上某个excel的绝对路径 例如:C://20141110中石油.xlsx 8     * @see com.bjsxt.sxf.service.ReadExcelService#readExcel(java.lang.String)] 9     * CELL_TYPE_NUMERIC 数值型 010       CELL_TYPE_STRING 字符串型 111       CELL_TYPE_FORMULA 公式型 212       CELL_TYPE_BLANK 空值 313       CELL_TYPE_BOOLEAN 布尔型 414       CELL_TYPE_ERROR 错误 515      */16     @Override17     public void readExcel(String readPath) {18         try {19             //生成文件的输入流20             InputStream inexcel=new FileInputStream(readPath);21             //生成输入excel文件的内存模型22             Workbook wb=WorkbookFactory.create(inexcel);23             //获取具体表格名的对象24             Sheet sheet=wb.getSheet("尚晓飞");25             //Sheet sheet2=wb.getSheetAt(0);获取指定下标的表格对象。行和列的下标都是从0开始26             27             28             //定义记录一行数据的值29             Date date=null;//时间30             double jiage=0;//价格31             Integer xianliang=0;//现量32             String borS=null;//类型33             34             //获取excel表中存在值的行对象的迭代器35             Iterator<Row> iterator=sheet.iterator();36             while (iterator.hasNext()) {37                 Row row=iterator.next();38                 //获取excel表中存在值的某行的列对象的迭代器39                 Iterator<Cell> cIterator=row.cellIterator();40                 while (cIterator.hasNext()) {41                     Cell cell=cIterator.next();42                     if(cell.getCellType()==cell.CELL_TYPE_BLANK){43                         //如果单元格为空值,暂停本次循环继续下次循环44                         continue;45                     }46                     //获取当前单元格的列索引 。从0开始47                     Integer columnIndex=cell.getColumnIndex();48                     //获取当前单元格的行索引。从0开始49                     Integer  rowIndex=cell.getRowIndex();50                     51                     if(cell.getCellType()==cell.CELL_TYPE_NUMERIC){//判断单元格的值是数字格式52                         53                         if(HSSFDateUtil.isCellDateFormatted(cell)){//判断单元格是日期格式54                             SimpleDateFormat dateformat = new SimpleDateFormat("HH-mm");55                             //时间56                             date = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());//获取成DATE类型   57                             String fdate = dateformat.format(date); 58                             System.out.println("rowIndex-->"+rowIndex+"  columnIndex-->"+columnIndex+"  value-->"+fdate);59                            60                         }else{61                             62                             if(cell.getColumnIndex()==1){63                                 //价格64                                 jiage=cell.getNumericCellValue();65                                 System.out.println("rowIndex-->"+rowIndex+"  columnIndex-->"+columnIndex+"  value-->"+jiage);66                             }else if(cell.getColumnIndex()==2){67                                 //现量68                                 xianliang=(int) cell.getNumericCellValue();69                                 System.out.println("rowIndex-->"+rowIndex+"  columnIndex-->"+columnIndex+"  value-->"+xianliang);70                             }71                         }72                         73                     }74                     75                     if(cell.getCellType()==cell.CELL_TYPE_STRING){//单元格的值为字符串76                             //类型77                             borS=cell.getStringCellValue();78                             System.out.println("rowIndex-->"+rowIndex+"  columnIndex-->"+columnIndex+"  value-->"+borS);79                         }80                     }    81             }    82         } catch (Exception e) {83             // TODO Auto-generated catch block84             e.printStackTrace();85         }86         87     }
View Code

 

java编程之POI读取excel表格的内容