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

java 使用jasper

上周,我试图使用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(Hibernate查询语言)查询,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

java 使用jasper

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机科学基础知识(四): 动态库和位置无关代码

一、前言 本文主要描述了动态库以及和动态库有紧密联系的位置无关代码的相关资讯。首先介绍了动态库和位置无关代码的源由,了解这些背景知识有助于理解和学习动态库。随后,我们通过加-fPIC和不加这个编译选项分别编译出两个relocatable object file&…

安装后添加没有class library_《没有秘密的你》:戚薇曝光手机号,粉丝急忙添加后却甜哭了?...

现在大家对于戚薇都是非常熟悉的吧,现在她可以说是娱乐圈内非常受关注的一个明星了,因为自己的颜值和耿直的性格也是直接圈粉无数,当时自己没有很多名气的时候,更是因为自己的女儿增添了很多的人气。想必在今年夏天的时候&#xf…

ubuntu 硬盘使用情况

df (硬盘使用情况) df -h du (当前文件夹多大) du -h

执行器的Spring启动和安全性事件

Spring Boot Actuator提供了审核功能,用于在启用Spring Security的Spring Boot应用程序中发布和侦听与安全相关的事件。 默认事件是身份验证成功,身份验证失败和访问被拒绝,但是可以使用自定义事件进行扩展。 确保在项目中启用了Spring Boot…

docker 查看日志_8个优秀Docker容器监控工具,收藏了

Docker是目前使用最广泛的容器之一,但它并不总是像物理硬件一样可见。而使用docker容器监控工具有助于消除这种透明度的缺失。以下介绍8种优秀Docker容器监控工具。1.SolarWinds Server&Application MonitorSolarWinds Server&Application Monitor是一个应用…

ubuntu 打包压缩

打包 tar -cvf test.tar *.txt tar -cvf test.tar *.txt 解包 tar -xvf test.tar tar -xvf test.tar -C abc/ 解压到当前路径的abc目录下 打包压缩 tar -zcvf test.tar.gz *.txt 解压缩包 tar -zxvf test.tar -C abc/ 解压到当前路径的abc目录下 .tar.bz2格式…

计算机基础知识:什么是位、字节、字、KB、MB

位、字节、字、KB、MB 位:“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。 字节:8个二进制位构成1个“字节(Byte)”,它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说&#xf…

Tr A(矩阵快速幂)

A为一个方阵&#xff0c;则Tr A表示A的迹&#xff08;就是主对角线上各项的和&#xff09;&#xff0c;现要求Tr(A^k)%9973。 Input 数据的第一行是一个T&#xff0c;表示有T组数据。 每组数据的第一行有n(2 < n < 10)和k(2 < k < 10^9)两个数据。接下来有n行&am…

matlab中的方波信号图片_基于Matlab的雷达信号处理仿真

这是一个较为基础的图文教程(含仿真代码)&#xff1a;利用MATLAB设计经典的雷达数字信号处理。该系统具备对雷达目标回波的处理能力&#xff0c;能够从噪声中将目标检测出来&#xff0c;并提取目标的距离、速度、角度信息。教程分五节完成&#xff0c;主要包括&#xff1a;第一…

ubuntu find

find ./ -name “*.txt” find ./ -size 1M (当前目录下大小为1M) sudo find ./ -size 1M &#xff08;大小为1M&#xff0c;sudo为获取权限&#xff09; sudo find ./ -size 1M &#xff08;大于为1M&#xff09; sudo find ./ -size -1M &#xff08;小于1M&#xff09…

git clone 一些简单笔记

自使用了git后&#xff0c;就彻底喜欢上了&#xff0c;深深体会到了自由的感觉&#xff0c;记录一些简单的笔记和使用心得&#xff0c;仅供留迹&#xff0c;以备后查。。。 git clone 命令参数&#xff1a; usage: git clone [options] [--] <repo> [<dir>]-v, --v…

github上java_GitHub上Java的Bloom Bloom实现

github上java布隆过滤器是集数据结构的一种 。 对于那些不了解的对象&#xff0c;“设置数据结构”仅包含一个主要方法。 它仅用于确定特定元素是否包含在一组元素中。 大多数数据结构&#xff08;例如Hash Map &#xff0c; Linked List或Array &#xff09;都可以相当容易地创…

Error:The supplied javaHome seems to be invalid. I cannot find the java executable

设置一下gradle的JVM路径就好 转载于:https://www.cnblogs.com/shimu/p/10708888.html

Linux启动nacos成功日志_微服务系列之Nacos配置中心

Nacos 介绍Nacos 是 Alibaba 公司推出的开源工具&#xff0c;用于实现分布式系统的服务发现与配置管理。英文全称 Dynamic Naming and Configuration Service&#xff0c;Na 为 Naming/NameServer 即注册中心&#xff0c;co 为 Configuration 即配置中心&#xff0c;Service 是…

ubuntu 常用快捷键、常用命令

ls 显示当前文件夹下文件 pwd 显示当前目录 history 显示以前命令 touch 创建文件 例子&#xff1a; touch 1.txt &#xff1b; touch1.py等等 mkdir 创建文件 例子&#xff1a;mkdir abc&#xff1b; mkdir abc/d; mkdir abc/123/a -p …

Apache Camel 2.19发布–新增功能

Apache Camel 2.19于2017年5月5日发布&#xff0c;大约在一段时间后&#xff0c;我做了一个小博客&#xff0c;介绍了该版本包含的值得注意的新功能和改进。 这是值得注意的新功能和改进的列表。 1. Spring Boot的改进 Camel 2.19版本已针对Spring Boot进行了许多改进。 例如…

Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

两年半前写的关于Maven的介绍&#xff0c;现在看来都还是不错的&#xff0c;自己转下。写博客的一大好处就是方便自己以后查阅&#xff0c;自己总结的总是最靠谱的。 由浅入深&#xff0c;主要介绍maven的用途、核心概念(Pom、Repositories、Artifact、Build Lifecycle、Goal)、…

C#枚举(Enum)小结

枚举概念 枚举类型&#xff08;也称为枚举&#xff09;提供了一种有效的方式来定义可能分配给变量的一组已命名整数常量。该类型使用enum关键字声明。 示例代码1 enum Day { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; 默认情况下枚举中每个元素的基本…

用js实现导航栏shoufang效果_【读者投稿】用Github+docsify,我花了半天就搭好了个人博客...

前言“作为一个真正的码农&#xff0c;不能没有自己的个人博客”&#xff0c;这是我说的。惭愧的是&#xff0c;入行两年多了都没搞起来&#xff0c;这让我一度怀疑自己是个假程序员。昨天终于克服了心里的“犹豫”和“恐惧”&#xff0c;尝试搭建了一把&#xff0c;半天就搞好…

ubuntu 重定向

重定向 &#xff08;重新设定方向&#xff09; ls > xxx.txt 将ls显示的内容写入到xxx.txt ls -lah > xxx.txt ls >> xxx.txt 将ls显示的内容以追加方式写入到xxx.txt