使用JasperReport与iReport开发报表

一 JasperReport与iReport
1) Jasperreport:是个基于Java技术的报表开发开源包(免费),按其规则可以编写出一个XML文件,根据XML文件支持多种格式文件的输出,例如:PDF、HTML、XML、XLS及CVS等。
2)iReport是制作jasperreport XML文件的可视化开发工具(收费)。

* 下载地址:http://sourceforge.net

示例工具版本(* 那时候):

1)iReport-1.3.0

2)jasperreports-1.3.0

 

二、使用JasperReport及iReport开发报表的大致思路
1) 在报表设计器中(iReport),设计报表静态布局及格式
2) 一般,建立与数据库的连接,并设置报表查询语句
3) 在设计器中,设置动态信息(例如:字段的绑定、变量、参数等)及分组、排序、小计等
4) 保存(.jrxml)并编译成.jsper文件
5) 以Web方式(HTM, JSP, Servlet)访问报表
 

三、Jasperreportireport的特点

1)可以生成常用格式的报表,如HTML、PDF、XLS等

2)可以根据传递的参数动态生成报表

3)HTML格式的报表可以分页显示

4)报表模板、SQL语句、程序分离

5)报表界面美观,并且不可编辑

 

四、编译JRXML

一般,可以先使用iReport设计报表模板(.jrxml),并编译为.jasper文件。

 

五、在JSPSERVLET中访问报表

代码参考,如下所示

代码(略)

String reportFileName = application.getRealPath("/reports/myFirstJasperreport.jasper");

File reportFile = new File(reportFileName);

 

JasperPrint jasperPrint = JasperFillManager.fillReport(

                            reportFileName,

                            null,

                            DatabaseConn.getConnection()

                            );

六、在JSPSERVLET中生成报表

代码(略)

1)生成HTML报表

JRHtmlExporter exporter = new JRHtmlExporter();

 

         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

         exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);

         exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "servlets/image?image=");

        

         exporter.exportReport();

2)生成PDF报表

         response.setContentType("application/pdf");

         JRPdfExporter exporter = new JRPdfExporter();

         exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);

         OutputStream ouputStream = response.getOutputStream();

         exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);

        

exporter.exportReport();   

3)生成EXCEL报表

         File destFile = new File(reportFile.getParent(), jasperPrint.getName() + ".xls");

 

JRXlsExporter exporter = new JRXlsExporter();

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());

exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);

 

exporter.exportReport();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值