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

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

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

JasperReport生命周期

图片来自Jasper Library Wiki

如图所示,生命周期包含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

使用Jasper Reports以Java创建报告相关推荐

  1. java 使用jasper_使用Jasper Reports以Java创建报告

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

  2. Jaspersoft Studio入门:从模板创建报告,并创建数据源

    Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource (usually a ...

  3. Java老矣,尚能饭否?2020 Java生态系统报告出炉

    来自:漫话编程 最近,Jrebel公布了一份2020 Java生态系统报告,这份报告主要关注开发人员在开发过程中使用的技术. 这份报告包含了技术人员正在用的编程语言.应用程序架构.应用服务器.运行时平 ...

  4. Java实验实现一个circle类,java实验报告-类的定义.doc

    java实验报告-类的定义 南京理工大学泰州科技学院 实验报告书 课程名称: <JAVA面向对象程序设计> 实验题目: 实验三 类的定义 班 级: 09计算机(2) 学 号: 090903 ...

  5. java创建类的三个步骤_3个简单步骤即可测试Java 8

    java创建类的三个步骤 即将发布的Java 8版本为Java开发人员带来了许多新功能,但是升级时始终存在代码破裂的风险. 我们都记得Java 7出厂时有一系列非常严重的错误 . 当然,我们所有人都可 ...

  6. java数组使用实验报告_JAVA数组与类的定义-java实验报告

    JAVA数组与类的定义-java实验报告 JAVA数组与类的定义-java实验报告 .实验目的与要求 1. 熟悉Java类.对象和方法的一般操作练习等. 2. 熟悉数组等的定义和使用. 二.实验内容及 ...

  7. java自学报告_Vi,Java,Ant和Junit自学报告

    vi自学报告 概述 vi 编辑器是所有 Unix 及 Linux 系统下最基本的编辑器,它直接以命令行窗口作为显示界面.vim是vi的升级版,完全兼容vi并提供了一些新的特性.因为vi.vim完全脱离 ...

  8. java实验册_Java实验报告册Java实验报告册.doc

    Java实验报告册Java实验报告册 <面向对象程序设计> 实验报告与习题册2013 / 2014 学年 第1学期系 别 计算机科学与技术系专 业 班 级 姓 名 指导教师 目 录 项 目 ...

  9. sql 查询手动创建的表_学习SQL:使用SQL查询手动创建报告

    sql 查询手动创建的表 In the previous two articles, we've practiced SQL queries and went through a few more e ...

最新文章

  1. 抽象SQL查询:SQL-MAP技术的使用
  2. Oracle任务调度的高级选项
  3. python保存模型_MNIST数据集训练完如何保存成模型文件?
  4. WCF 入门调用实例教程
  5. 树莓派保持网络连接shell脚本
  6. 计算机应用基础精品课程申报表,计算机应用基础精品课程申报表(15页)-原创力文档...
  7. 联想拯救者R720黑苹果EFI分享
  8. ensp配置服务器发布(将DMZ区的web服务区发布,供client访问)
  9. 在HTTPS网站安装百度分享按钮代码及其SEO外链作用
  10. 蚂蚁金服-微贷事业群 (北京、杭州)招前端
  11. Geophysics背景知识(2)
  12. BDD100K数据集简单解析以及格式转换成voc格式
  13. 模拟集成电路设计:MOS器件物理模型(1)
  14. 功能性近红外脑成像技术fNIRs开源网站
  15. 1.C标准库——stdlib.h
  16. 网络验证 api.php,青柠网络验证webapi接口说明
  17. 走出你职业生涯的瓶颈[zt]
  18. Eclipse运行jsp文件(基于tomcat),界面404或者显示无法访问
  19. we learn考试能切屏吗_托福说 | 当留学生必备技能成托福口语真题,这题你能拿满分吗?!...
  20. 一人之下手游当前服务器注册已满,一人之下手游不能注册是怎么回事 一人之下手游不能注册原因详情...

热门文章

  1. 用python进行自然语言处理_Python自然语言处理示例:SVM和贝叶斯分类
  2. How to install plugin for Eclipse from .zip
  3. MySQL优化(二):索引的类型、匹配原则、创建原则
  4. MVC如何添加Model
  5. 八爪鱼 是java做的吗_章鱼扫描仪:Java构建工具和恶意软件
  6. nosql和rdnms_用于SaaS和NoSQL的Jdbi
  7. netflix_学习Netflix管理员–第2部分
  8. 使用Java和JSF构建一个简单的CRUD应用
  9. OCA第6部分中的Java难题
  10. Apache Camel 2.21发布–新增功能