使用Jasper Reports以Java创建报告

上周,我试图使用Jasper创建报告。 在这篇文章中,我将记录一些资源和链接,以便对任何寻求类似信息的人都有用。

我将介绍Jasper报告,示例和Dynamic Jasper的生命周期。

Jasper Reports是世界上最受欢迎的开源报告引擎。 它完全用Java编写,并且能够使用来自任何类型的数据源的数据,并生成像素完美的文档,这些文档可以查看,打印或导出为各种文档格式,包括HTML,PDF,Excel,OpenOffice和Word 。

JasperReport生命周期

如图所示,生命周期包含3个不同的阶段,

1.设计报告

在此步骤中,将涉及创建JRXML文件,该文件是一个XML文档,其中包含报告布局的定义。 我们可以使用iReport Designer或文本编辑器手动创建它。 使用iReport Designer,布局是完全以可视方式设计的,因此您可以忽略JRXML文件的实际结构。

是有关使用iReport设计报告的详细教程。 我们还可以使用本文后面介绍的Dynamic Jasper设计报告。

2.执行报告。

在执行报告之前,必须将JRXML编译在称为Jasper文件(* .jasper)的二进制对象中。 出于性能原因完成此编译。 Jasper文件是您需要随应用程序一起提供的文件,以便运行报告。 编译报表后,将使用应用程序中的数据填充报表。 net.sf.jasperreports.engine.JasperFillManager类提供了必要的功能来填充报告中的数据。

通过将Jasper文件和数据源传递给JasperReports来执行报告执行。 数据源类型很多,可以从SQL查询,XML文件,csv文件,HQL(休眠查询语言)查询,Java Bean集合等填充Jasper文件。为了找到合适的数据源,JasperReports非常灵活,可以让您编写自己的自定义数据源。

JasperFillManager.fillReportToFile('MasterReport.jasper',参数,getDataSource());

此操作将创建一个Jasper打印文件(* .jrprint),该文件用于打印或导出报告。

3.导出为所需格式

使用上一步中创建的Jasper打印文件,我们将能够使用JasperExportManager将其导出为任何格式。 贾斯珀提供各种形式的出口。 这意味着使用相同的输入,我们可以创建数据的多种表示形式。 Jasper内部使用不同的API创建文档。 但是这些复杂性被更简单的隐藏了
JasperExportManager。

JasperExportManager。 exportReportToPdfFile('MasterReport.jrprint');

简而言之,生命周期可以总结在下图中

图片来自Ramki Tech

关于Jasper Reports生命周期的参考资料和其他优秀文章

  1. 贾斯珀图书馆Wiki
  2. 碧玉报告维基
  3. Ramki Java博客中的Jasper报告
  4. JasperReport –开源Java报告框架


例子

我发现很难找到Jasper报告的可行示例。 但是它就在包装内! 下载Jasper Library后,转到demo \ samples,您将找到许多示例程序。 其中许多需要有效的HSQL DB连接,要激活它,请转到demo \ hsqldb并启动服务器。 每个文件夹都有一个readme.txt文件,它将帮助您了解如何运行它。 可以使用ant任务执行所有示例

这是其他一些来源的清单。

  1. Jasper库中的样本
  2. Java报告与Jasper报告–第2部分
  3. 碧玉报告-示例
  4. Spring MVC 3.1和JasperReports


使用Dynamic Jasper简化报表创建

DynamicJasper (DJ)是一个免费的开源库,它隐藏了Jasper Reports的复杂性,它可以帮助开发人员在设计简单/中等复杂性报告时节省时间,从而自动生成报告元素的布局。

项目主页提供了许多有关如何使用该库的示例和代码片段。 我已经使用了一段时间,它是JRXML文件的非常稳定的替代品。虽然使用动态jasper,但是报表设计是用Java编码的。 这意味着每次编译,填充和导出报告。 通过使用动态碧玉,我们将替代上述碧玉生命周期中的第一步。 即使使用动态jasper,您也需要jasper库和其他相关文件。

这是Dynamic Jasper使用的更多示例。

  1. 如何在Dynamic Jasper上浏览页面
  2. Spring 3 – DynamicJasper – Hibernate教程:连接DynamicReport
  3. Spring 3 – DynamicJasper – Hibernate教程:使用普通列表


参考: 我们的面向对象的生活博客中,使用我们的JCG合作伙伴 Manu PK 使用Jasper Reports在Java中创建报告

翻译自: https://www.javacodegeeks.com/2012/11/using-jasper-reports-to-create-reports-in-java.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值