Jasperreport5.6.0生成PDF(二)

该博客介绍了如何使用JasperReport 5.6.0通过Java代码生成PDF报告,包括数据库连接、设置参数、读取报表模板、填充数据以及输出到PDF的过程。在成功执行后,用户可以选择直接打开或保存生成的PDF文件。
摘要由CSDN通过智能技术生成

Jasperreport5.6.0生成PDF

上一篇讲的是 jasperreport5.6.0 生成 pdf ,运行后可以生成 pdf ,可是和我们的需求有点差距,我们是要求生成后,可以直接打开或保存,这就需要 response 的设置了,如下代码:

   //ireport生成项目立项PDF格式

   public String getIreportPDFAction()

   {

      Connection conn =null;//连接

      try {

         String projectapproid =request.getParameter("projectapproid");

          连接JDBC得到数据URL

          String url ="jdbc:oracle:thin:@192.168.1.104:1521:orcl";

          Class.forName("oracle.jdbc.driver.OracleDriver");

          conn = DriverManager.getConnection(url,"zwjx","zwjx");

          //设置参数

          Map parmerters = new HashMap();

          parmerters.put("projectapproid", projectapproid);

         //读取报表模板文件

         FilejasperFile=new File("D:/Workspaces/zwjxSystem/WebRoot/jasper/report1.jasper");

         //设置报表中参数的值

         Map map =new HashMap();

         map.put("projectapproid", projectapproid);

          //输出流

          OutputStream ous =response.getOutputStream();

          //输出文件名

          String filenames="项目立项";

          //打印

          JasperPrint print =JasperFillManager.fillReport(jasperFile.getPath(), map,conn);

//        //生成pdf

          JRAbstractExporter exporter =newJRPdfExporter();

          response.reset();

          response.setContentType("application/pdf");

          response.setHeader("Content-Disposition","attachment;filename="+new String(filenames.getBytes("gbk"),"iso8859-1")+".pdf");

          //指向

          JasperReportsUtils.render(exporter, print,ous);

          ous.flush();

          ous.close();

      }catch (Exceptione) {

          e.printStackTrace();

          System.out.println("ireport生成报表出错!");

      }finally

      {

          try {

             conn.close();

          }catch(SQLException e) {

             //TODO Auto-generated catch block

             e.printStackTrace();

          }

      }

          returnnull;

   }

运行后,弹出如下对话框,我们可以根据需要选择。可以直接打开,也可以保存。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值