首页 > 其他 > 详细

使用poi组件读取excle文件

时间:2015-08-15 23:12:27      阅读:435      评论:0      收藏:0      [点我收藏+]


关键代码如下:

public void importPostGroupQuality() throws Exception {
    	
    	//InputStream fis=new FileInputStream("E:\\员工年度考核.xls"); 
		InputStream fis=this.path(); 
        //解析出来的Excel的数据存放的List集合  
       //解析出来的Excel中的每一条数据封装的实体
        try { 
            //创建Excel工作薄  
            HSSFWorkbook hwb = new HSSFWorkbook(fis);          
            //得到第一个工作表  
            HSSFSheet sheet = hwb.getSheetAt(0);  
            HSSFRow row = null;   
//            System.out.println("一共:"+hwb.getNu);
            //遍历该表格中所有的工作表,i表示工作表的数量 getNumberOfSheets表示工作表的总数   
            for(int i = 0; i < hwb.getNumberOfSheets(); i++) {            	
                sheet = hwb.getSheetAt(i);
                System.out.println("一共多少行:"+sheet.getPhysicalNumberOfRows());
                //遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数  
                for(int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) {  
                    row = sheet.getRow(j);
                    System.out.println("一共有列:"+row.getPhysicalNumberOfCells());
                    int total=row.getPhysicalNumberOfCells();
                    for(int a=0;a<total;a++){
                    	if(getCellValue(row.getCell(a))!=""){
                    		System.out.print(getCellValue(row.getCell(a))+":");
                    		
                    	}
                    	      
                    }
                }
            }     
        } catch (Exception e) {  
          	fis.close();
            e.printStackTrace();  
        }  
    }  

  //判断从Excel文件中解析出来数据的格式  
    public  String getCellValue(HSSFCell cell){  
        String value = null;  
        //简单的查检列类型  
        switch(cell.getCellType())   
        {  
            case HSSFCell.CELL_TYPE_STRING://字符串  
                value = cell.getRichStringCellValue().getString();  
                break;  
            case HSSFCell.CELL_TYPE_NUMERIC://数字  
                long dd = (long)cell.getNumericCellValue();  
                value = dd+"";  
                break;  
            case HSSFCell.CELL_TYPE_BLANK:  
                value = "";  
                break;     
            case HSSFCell.CELL_TYPE_FORMULA:  
                value = String.valueOf(cell.getCellFormula());  
                break;  
            case HSSFCell.CELL_TYPE_BOOLEAN://boolean型值  
                value = String.valueOf(cell.getBooleanCellValue());  
                break;
            case HSSFCell.CELL_TYPE_ERROR:  
                value = String.valueOf(cell.getErrorCellValue());  
                break;  
            default:  
                break;  
        }  
        return value;  
    }



其中 InputStream fis=this.path();  获取文件流,请根据实际情况进行修改,获取本地文件的输入流 代码是:InputStream fis=new FileInputStream(“E:\\员工年度考核.xls”);

使用poi组件读取excle文件

原文:http://my.oschina.net/zhongwenhao/blog/493023

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!