JasperRunManager、JasperPrintManager、JRLoader、JRSaver的简单用法

        JasperRunManager与JasperExportManager有相同的功能那就是到处我们所需要的报表文件,但是JasperRunManager还能以字节流的方式处理报表文件,而这种用法在我们的实际开发中经常使用到。

  例:

           String fileName="jrxml/test.jasper";
  //使用Jasper文件生成HTML文件,返回报表名
  String s=JasperRunManager.runReportToHtmlFile(fileName, new HashMap());
  System.out.println(s);
  InputStream is=new FileInputStream(fileName);
  //返回报表文的字节数组形式
          byte[] b=JasperRunManager.runReportToPdf(is, new HashMap(), new JREmptyDataSource());
          File f=new File("jrxml/j.pdf");
          FileOutputStream os=new Fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Quarkus是一个基于Java平台的开源微服务框架,它可以帮助开发人员快速构建高效的应用程序。JasperReport是一个Java报表库,可以用来生成各种格式的报表,包括PDF、HTML、Excel等。下面是一个使用Quarkus和JasperReport生成PDF报表的示例代码: 首先添加依赖项,包括JasperReport和iText: ```xml <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>6.17.0</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.2</version> </dependency> ``` 然后编写一个简单的REST端点来处理请求并生成报表: ```java import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import java.io.InputStream; import java.util.HashMap; import java.util.Map; @Path("/report") public class ReportResource { @GET @Produces("application/pdf") public Response generateReport() throws Exception { InputStream reportStream = getClass().getResourceAsStream("/report.jasper"); Map<String, Object> params = new HashMap<>(); params.put("title", "My Report"); byte[] pdfBytes = JasperRunManager.runReportToPdf(reportStream, params, new JREmptyDataSource()); return Response.ok(pdfBytes).header("Content-Disposition", "attachment; filename=myreport.pdf").build(); } } ``` 在这个例子中,我们使用了一个.jasper文件来定义报表模板。在generateReport方法中,我们使用JasperReport API来填充模板并生成PDF文件。最后,我们将生成的PDF文件作为响应发送给客户端。 需要注意的是,这只是一个简单的示例代码,实际应用中可能需要更复杂的报表模板和数据源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值