使用poi组件读取excle文件
博客专区 > jxlgzwh 的博客 > 博客详情
使用poi组件读取excle文件
jxlgzwh 发表于3年前
使用poi组件读取excle文件
  • 发表于 3年前
  • 阅读 134
  • 收藏 9
  • 点赞 0
  • 评论 1

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 我的博客 www.wenhaozhong.com


关键代码如下:

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”);

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 48
博文 211
码字总数 93236
作品 1
评论 (1)
panwang
导入前先检查数据,将数据不满足条件的原因,以及数据返回到页面使用表格怎么做,到这都会呀
×
jxlgzwh
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: