加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用poi组件读取excle文件

发布时间:2020-12-15 00:22:49 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public void importPostGroupQuality() throws Exception { //InputStream fis=new FileInputStream("E:员工年度考核.xls"); InputStream fis=this.

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读