POI 导出excel

来源:互联网 发布:软件硬件什么意思 编辑:程序博客网 时间:2024/06/05 02:46

maven依赖

      <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.13</version>
        </dependency>



@RequestMapping(value="/export")
    public void export(HttpServletResponse res) throws IOException{
        List<User> allUser = dao.getAllUser();
        HSSFWorkbook book=getBook(allUser);
        res.setContentType("application/ms-excel;charset=UTF-8");
        res.setHeader("Content-Disposition","attachment;filename=" + URLEncoder.encode("用户.xls", "UTF-8"));
        OutputStream os=res.getOutputStream();
        book.write(os);
        os.flush();
        os.close();
    }
    
    
    private HSSFWorkbook getBook(List<User> allUser){
        HSSFWorkbook book=new HSSFWorkbook();
        HSSFSheet sheet=book.createSheet("用户表");
        //设置title
        HSSFRow row = sheet.createRow(0);
        int index=0;
        setValue(row,index++,"ID");
        setValue(row,index++,"用户名");
        setValue(row,index++,"密码");
        
        int dataIndex=1;
        
        for(User u:allUser){
            setData(sheet, dataIndex++,u);
        }
        
      
        return book;
        
    }
    
    private void setValue(HSSFRow row,int index,String value){
        HSSFCell cell=row.createCell(index);
        cell.setCellValue(value);
    }
    
    private void setData(HSSFSheet sheet,int rowindex,User u){
        HSSFRow row = sheet.createRow(rowindex);
        int index=0;
        setValue(row,index++,String.valueOf(u.getId()));
        setValue(row,index++,u.getUserName());
        setValue(row,index++,u.getPassword());
        
        
    }

0 0
原创粉丝点击