iReport 使用JavaBean作为数据源开发报表(SSM)

  1. 下载 iReport 工具、下载Jar包
    iReport 工具如图所示:iReport 使用JavaBean作为数据源开发报表(SSM)_第1张图片
    iReport 使用JavaBean作为数据源开发报表(SSM)_第2张图片
    Jar 包如图所示:iReport 使用JavaBean作为数据源开发报表(SSM)_第3张图片
  2. 创建文件
    iReport 使用JavaBean作为数据源开发报表(SSM)_第4张图片
    iReport 使用JavaBean作为数据源开发报表(SSM)_第5张图片
    选择 Blank A4 —-> Open this Template
    iReport 使用JavaBean作为数据源开发报表(SSM)_第6张图片
    命名后 下一步 完成
  3. 完成后如图所示

    iReport 使用JavaBean作为数据源开发报表(SSM)_第7张图片
    Title 处: 将 Static Text 拉入
    iReport 使用JavaBean作为数据源开发报表(SSM)_第8张图片
    按图设置参数
    iReport 使用JavaBean作为数据源开发报表(SSM)_第9张图片

    iReport 使用JavaBean作为数据源开发报表(SSM)_第10张图片
    iReport 使用JavaBean作为数据源开发报表(SSM)_第11张图片
    最终如上图所示:

  4. 导入必要Jar包
    iReport 使用JavaBean作为数据源开发报表(SSM)_第12张图片
  5. 重要代码
@RequestMapping(params = "method=print")
    public void print(HttpServletRequest request, HttpServletResponse response,ModelMap modelMap) throws ParsePropertyException, InvalidFormatException, IOException, JRException{
        long starTime=System.currentTimeMillis(); 
        logger.info("导出开始:"+starTime);
        Map<String, Object> parameters=new HashMap<String, Object>(); 
        List list = new ArrayList();
        for (int i = 1; i < 10; i++) {
            list.add(new Student(i , "studentName"+i, "school"+i));
        }
        JRDataSource jrDataSource = new JRBeanCollectionDataSource(list);
        parameters.put("author", "admin");
        try {
            File file=new File("D:/reportDemo.jasper");
            ServletOutputStream ouputStream = null;
            byte[] bytes = JasperRunManager.runReportToPdf(file.getPath(), parameters,jrDataSource);
            response.reset();
            response.setContentType("application/pdf");
            Date currentTime = new Date();  
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
            String pathName = formatter.format(currentTime)+".pdf";  
            response.setHeader("Content-Disposition", "attachment; filename=" +  pathName);
            response.setContentLength(bytes.length);
            ouputStream = response.getOutputStream();
            ouputStream.write(bytes, 0, bytes.length);
            ouputStream.flush();
            ouputStream.close();
            long endTime=System.currentTimeMillis(); 
            logger.info("导出结束:"+endTime);
            logger.info("导出共用时:"+(endTime-starTime));
        } catch (ParsePropertyException e) {
            e.printStackTrace();
        }
    }
  1. PDF效果
    iReport 使用JavaBean作为数据源开发报表(SSM)_第13张图片

你可能感兴趣的:(iReport)