JasperReport初级教程(2.0.3)图文详解

合集下载

ireport图文教程(超详细)(word文档良心出品)

ireport图文教程(超详细)(word文档良心出品)

1下载iReportiReport是一个可视化的报表模板设计工具,使用此工具能方便地对报表进行设计。

在iReport中已经包含了jasperreports在运行时需要的jar 文件,在项目中的lib目录中包含Jasperreports-***.jar即可,其中***为版本号,比如2.0.3。

下载地址:/project/showfiles.php?group_id=64348,此文档编写时版本为2.0.3,如图:点击download出现以下界面:可以看到提供了多种下载包,其中:ØiReport-2.0.3-src.zip:为iReport的源代码ØiReport-2.0.3.tar.gz:为.tar.gz格式,一般用于Linux、Unix等非windows系统ØiReport-2.0.3-windows.installer.exe:为exe格式,一般用于windows系统ØiReport-2.0.3.zip:为zip格式,可以用于各类操作系统本文使用window版本为例,因此下载iReport-2.0.3-windows.installer.exe即可。

2安装iReport安装iReport需要先设置JDK环境,2.0.X版本要求JDK1.5环境(另参考文档)。

如果是windows系统,直接双击安装图标即可。

(如果是下载的ZIP文档,则将其解压到指定的目录,还需运行bin/startup.bat)。

如果是其他系统,比如Linux,Unix等,解压下载的安装文件(如下载的是tar.gz格式,使用tar xvfz iReport-2.0.3.tar.gz进行解压,如下载的zip格式,使用zip命令解压),然后运行bin/startup.sh即可。

以下以在windows上安装为例:A.欢迎界面,点击“N ext >”继续B.阅读license内容,点击“I A gree”继续C.选择安装组件,点击“N ext >”继续D.指定安装路径,点击“N ext >”继续E.指定程序组名称,点击“I nstall”即可F.等待安装过程G.安装结束,点击“F inish”完成在桌面上会出现如此图标:。

跟我学JasperReports报表框架——在Java应用程序中显示所创建的报表

跟我学JasperReports报表框架——在Java应用程序中显示所创建的报表

1.1跟我学JasperReports报表框架——在Java应用程序中显示所创建的报表1.1.1在J2SE的程序中(胖客户端方式)显示报表1、所需要的各种JAR包commons-beanutils-1.7.jar、commons-collections-2.1.jar、commons-digester-1.7.jar、commons-logging-1.0.2.jar、itext-1.3.1.jar、jasperreports-2.0.5.jar、jtds-1.2.jar(或者为mysql-connector-java-5.1.6-bin.jar)2、常见API介绍(1)net.sf.jasperreports.engine.JasperCompileManager类。

使用这个类的几个静态方法即可完成对报表的编译工作,编译完成后JasperCompileManager类有两种处理方式:1)返回一个JasperReport对象2)在.jrxml文件所在的目录生成一个.jasper文件这两种方式是由程序员自己选择的,一般采用使用.jasper文件,毕竟报表的结构不是每天都在改动,所以每次重新编译报表并不是很划算。

pileReportToFile()方法,这个方法由三个重载版本,你可以查JasperReport的API文档看到,这里我们仅解释一下其中一个版本:void compileReportToFile(String arg0,String arg1);arg0指事先创建的.jrxml文件的全路径,包括文件名arg1指经过编译后生成的.jasper文件的文件名,当然你也可以写上路径,这样你就可以在固定路径上查看.jasper文件,不过这个文件放在哪儿无所谓,注意这个参数的String 串必须以.jasper结束。

(2)net.sf.jasperreports.engine.JasperFillManager类这个类的作用是用数据填充报表。

JasperReport报表开发说明(深入浅出)

JasperReport报表开发说明(深入浅出)

1.报表制作流程实例:我们实现一个简单的JasperReports示例,展现其基本的开发、使用流程。

Jasper Studio是基于Eclipse的报表设计工具(不熟悉Eclipse的看官先去熟悉一下基本知识吧),默认工作区设置为当前用户主目录下的JaspersoftWorkspace文件夹,并且不可更改。

首先,我们创建一个报表工程,本例中命名为DemoProject,然后创建一张新的报表(File --> New–->Jasper Report),就会出现类似下图所示的窗口让我们选择一个模板。

此例我们选Coffee模板,然后点Next。

在接下来的页面里,我们给报表模板起个名字(Demo1.jrxml)并放在DemoProject的根目录下,然后点Next,于是进入了数据源选择界面:数据源是填充报表的关键,我们必须制定一个数据适配器(Data Adapter),此时我们有三种选择:1、选择“OneEmpty Record - Empty rows”,这样我们就可以专注于报表的设计,而暂时不指定数据源,创建完报表之后,我们随时可以制定别的数据源。

2、选择“SampleDB - Database JBDC Connection”,这是JaspersoftStudio安装时提供的一个示例数据库。

3、点击“New”按钮创建一个新的数据源。

这正是本例要采用的方式,我们将创建一个连接到本机MySql数据库的world的数据源。

首先点击“New”,在弹出的向导页中选择“Database JDBC Connection”,然后点“Next”弹出下图所示的页面:配置好基本的数据库连接信息,点击“Test”测试通过之后,一个数据源就配置好了,我们点击“Finish”结束配置。

初次配置MySql数据源需要在Driver Classpath页面指定MySql驱动包的路径:配置并选择数据适配器之后,我们需要指定数据查询的语句,该语句查询出的字段将直接用于报表中的数据字段。

jasperreport初级教程之填充报表

jasperreport初级教程之填充报表

jasperreport初级教程之填充报表任何报告工具的主要目的是为了生产出高品质的文档。

举报填充过程有助于报告工具通过操纵数据集来实现这一目标。

需要报表填充过程的主要输入是:∙报表模板:这是实际的JasperReport文件∙报告参数:这些所传递的报表填充时间给引擎基本上都是命名的值。

我们将在报表参数章节讨论。

∙数据源:我们可以从一系列像一个SQL查询,XML文件,CSV文件,一个HQL(Hibernate查询语言)查询,Java Beans的集合等数据源的填补Jasper这个文件将详细讨论在报表数据源的篇章。

这个过程产生的输出。

jrprint是一个文档随时查看,打印或导出为其他格式。

外观类net.sf.jasperreports.engine.JasperFillManager通常用于填充一个报表模板与数据。

这个类有各种fillReportXXX()方法,填补报表模板(模板可以位于磁盘上,从输入流采集,或直接提供的内存)。

主要有两类在此外观类fillReportXXX()方法:1.第一种类型,接收java.sql.Connection对象作为第三个参数。

大多数情况下报表都充满了从关系数据库中的数据。

这是通过:o通过JDBC连接到数据库。

o包括报表模板中的SQL查询。

o JasperReports引擎使用传入的连接并执行SQL查询。

o因此,一个报表数据源产生填充的报告。

2.第二类,收到net.sf.jasperreports.engine.JRDataSource对象,当提供其他形式的数据来填补。

填充报告模板让我们来写一个报表模板。

在JRXML文件(C:\tools\jasperreports-5.0.1\test\jasper_report_template.jrxml)的内容如下:<band height="23"><staticText><reportElement mode="Opaque"x="0"y="3"width="535"height="15"backcolor="#70A9A9"/><box><bottomPen lineWidth="1.0"lineColor="#CCCCCC"/> </box><textElement/><text><![CDATA[]]></text></staticText><staticText><reportElement x="414"y="3"width="121"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"><font isBold="true"/></textElement><text><![CDATA[Country]]></text></staticText><staticText><reportElement x="0"y="3"width="136"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"><font isBold="true"/></textElement><text><![CDATA[Name]]></text></staticText></band></columnHeader><detail><band height="16"><staticText><reportElement mode="Opaque"x="0"y="0"width="535"height="14"backcolor="#E5ECF9"/><box><bottomPen lineWidth="0.25"lineColor="#CCCCCC"/> </box><textElement/><text><![CDATA[]]></text></staticText><textField><reportElement x="414"y="0"width="121"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"><font size="9"/></textElement><textFieldExpression class="ng.String"><![CDATA[$F{country}]]></textFieldExpression></textField><textField><reportElement x="0"y="0"width="136"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"/><textFieldExpression class="ng.String"><![CDATA[$F{name}]]></textFieldExpression></textField></band></detail></jasperReport>接下来,让我们通过Java数据对象(Java bean)集合,到Jasper报表引擎,填补了这一编译报告。

第一章JasperReport与iReport教程-34页精选文档

第一章JasperReport与iReport教程-34页精选文档

iReport几个重要的概念
编译、静态运行、动态运行
• Jasperreport 运行时需要的就是一个jasper后缀的文件,编译过程 其实就是把jrxml后缀的文件生成jasper后缀的文件。
• 静态运行和动态运行是相对的,后者带数据源运行,比如带数据 库运行。前者就是静态文本运行,和数据源无关,如果报表中出 现和数据源有关的对象,则以null显示。
iReport简介
iReport几个重要的概念
iReport 的输出格式:PDF、HTML、CSV、JAVA2D、 Excel、纯文字、JRViewer,其中最常用的是PDF、 JRViewer。
报表的动态对象变量、参数、字段
– 字段(Fields):是数据库抽取出来的,希望在报表中出现的 数据库内容。比如一个ID的所有值。$F{ filedsName }
报表结构
Summary:表格的合计段,出现在整个报表的最后一页中的Detail band 的后面,一般用来统计报表中某一个或某几个字段的合计值。 可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个 销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方 就是summary。
groupHeader:每个表的内容可能需要根据某个属性进行划分显示 内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那 么就可以定义一个组,groupHeader就是放置组说明或是组标志最好 的地方。
columnHeader:无可非议的这里是放置列的名称,记住不是列数 据。
Detial:报表内容段,在这个Band 中设计报表中需要重复出现的内 容,Detail 段中的内容每页都会出现。比如销售记录数据。
columnFooter:放置列级别的统计计算值或是列的说明。

jasperreport使用

jasperreport使用

Jasperreport基本介绍Jasperreport与Ireport介绍Jasperreport是报表打印工具,支持pdf、csv多种格式的报表打印。

JasperReport是一个开源的工具包,将JasperReport包加入到项目的classpath中即可开始使用JasperReport包了,从java程序中通过调用包中的类对jrxml文件进行操作,可以完成报表的编译、显示、输出等工作;Jasperreport的报表生成过程,如下图。

如上图所示。

报表模板有两种制作方式:1)利用ireport图形编辑工具,iReport是报表编辑图形工具,编辑完成后输出jrxml文件(XML格式),生成jasper文件(以.jasper结尾);2)直接利用java代码编译生成jasper文件(以.jasper结尾)。

最终要使用的是编译后的*.jasper文件。

Jasperreport支持多种数据源,包括xml、数据库、JavaBean等多种数据源。

Jasperreport基本类net.sf.jasperreports.engine.JasperCompileManager类。

使用这个类的几个静态方法即可完成对报表的编译工作(具体参见api文档)编译完成后可以JasperCompileManager有两种处理方式:1> 返回一个JasperReport对象2> 在.jrxml文件所在的目录生成一个.jasper文件这两种方式是由程序员自己选择的。

不过我比较倾向使用.jasper文件,毕竟报表的结构不是每天都在改动,所以每次重新编译报表并不是很划算。

●net.sf.jasperreports.engine.JasperFillManager类这个类的作用是用数据填充报表。

它可以使用JasperReport对象也可以使用。

jasper文件做为报表模板。

它同样有2中处理方式:1> 返回一个JsaperPrint对象。

JasperReport框架使用教程(附带常见空白页问题说明)

JasperReport框架使用教程(附带常见空白页问题说明)

JasperReport框架使⽤教程(附带常见空⽩页问题说明)概述与安装使⽤1. PDF报表概述概述在企业级应⽤开发中,报表⽣成、报表打印下载是其重要的⼀个环节。

在之前的课程中我们已经学习了报表中⽐较重要的⼀种:Excel报表。

其实除了Excel报表之外,PDF报表也有⼴泛的应⽤场景,例如货运详情,货运单等。

常见PDF报表的制作⽅式⽬前世⾯上⽐较流⾏的制作PDF报表的⼯具如下:1. iText PDF:iText是著名的开放项⽬,是⽤于⽣成PDF⽂档的⼀个java类库。

通过iText不仅可以⽣成PDF或rtf的⽂档,⽽且可以将XML、Html⽂件转化为PDF⽂件。

2. Openoffice:openoffice是开源软件且能在windows和linux平台下运⾏,可以灵活的将word或者Excel转化为PDF⽂档。

3. Jasper Report:是⼀个强⼤、灵活的报表⽣成⼯具,能够展⽰丰富的页⾯内容,并将之转换成PDFJasperReport框架的介绍JasperReport是⼀个强⼤、灵活的报表⽣成⼯具,能够展⽰丰富的页⾯内容,并将之转换成PDF,HTML,或者XML格式。

该库完全由Java 写成,可以⽤于在各种Java应⽤程序,包括J2EE,Web应⽤程序中⽣成动态内容。

只需要将JasperReport引⼊⼯程中即可完成PDF报表的编译、显⽰、输出等⼯作。

在开源的JAVA报表⼯具中,JASPER Report发展是⽐较好的,⽐⼀些商业的报表引擎做得还好,如⽀持了⼗字交叉报表、统计报表、图形报表,⽀持多种报表格式的输出,如PDF、RTF、XML、CSV、XHTML、TEXT、DOCX以及OpenOffice。

数据源⽀持更多,常⽤ JDBC SQL查询、XML⽂件、CSV⽂件、HQL(Hibernate查询),HBase,JAVA集合等。

还允许你义⾃⼰的数据源,通过JASPER⽂件及数据源,JASPER就能⽣成最终⽤户想要的⽂档格式。

JasperReport详解_(1)

JasperReport详解_(1)

JasperReport详解_(1)报表设计基础及JasperReort,JFreeChart简明教程摘要本⽂先从通⽤的⾓度定义了与报表相关的各种概念。

然后介绍了怎么应⽤JasperReport和Ireport设计报表,最后介绍了怎么使⽤JfreeChart⽣成图形报表。

⽂章中出现的很多概念和定义都出⾃作者⾃⼰的思考,没有通⽤性,在阅读时请不必深究它的准确性。

1、什么是报表,什么是报表应⽤程序1.1 什么是报表报表是数据统计结果的呈现。

常见的报表格式有表格、数据⽴⽅体(多维表)、曲线图、直⽅图、饼图等等,其中以表格最为常见。

总结各种报表的共同特征,可以这样来定义报表的结构。

⼀般来说,Report = Title + Page(s) + Report FooterPages(s)表⽰⼀个报表可能有⼀页或多页Page = PageHeader + Content + PageFooterContent则代表真正的数据,它⼀般由若⼲列和若⼲⾏组成。

Content = ColumnHeader + Row(s) + ColumnFooter⼀个报表的结构可以表⽰为下图所⽰的树形:这棵树中的所有叶结点,就构成了报表的实体。

⼀个叶结点⼀般称作⼀个Band,从上到下排列,⼀个Report的组成如下图所⽰:下图是⼀个报表的例⼦。

它有3页。

1.2 计算机上的报表与报表应⽤程序可以利⽤计算机处理数据和界⾯设计的功能来⽣成、展⽰报表。

计算机上的报表的主要特点是动态化。

已经有各种各样的计算机报表设计⼯具,它们⼀般提供格式设计和数据填充等功能。

⼴义地讲,EXCEL、WORD、甚⾄写字板都可以算作报表设计⼯具,但是它们没有定义专门的报表结构,也⽆法实现报表格式和报表数据的动态决定,⽆法实现计算机报表的“动态化”特性,也就是说不能⽤它来开发“报表应⽤程序”,所以它们⼀般不能视为报表设计⼯具。

⽽所谓报表应⽤程序,指的是能够在运⾏时动态地决定报表格式和报表数据的应⽤程序,它必须要实现数据格式和数据内容之间的分离,也就是报表和数据源之间的分离。

Jasperreport和iReport详细功能介绍

Jasperreport和iReport详细功能介绍

JasperReport和IReport报表开发的功能介绍目录1 简介 (4)2 JasperReport和IReport的安装与配置 (4)2.1 JDK的下载、安装和配置 (4)2.2 ANT的下载、安装和配置 (5)2.3 Jasperreport的下载、安装和配置 (6)2.4 iReport的安装和配置 (7)3 主要功能和实现过程 (7)3.1 XML解析 (8)3.2编译报表设计 (8)3.3 Report Design 预览 (9)3.4报表填充 (10)3.5查看报表 (11)3.6打印报表 (11)3.7导出报表 (11)3.8对象的载入和保存 (11)4 iReport的使用指南 (12)4.1一个简单的报表 (12)4.2报表预览 (13)4.3使用数据库的数据生成报表 (15)5 报表设计 (18)5.1DTD Reference (18)5.2XML编码 (19)5.3报表属性 (19)6 报表数据 (21)6.1表达式 (21)6.2参数 (22)6.3数据源 (24)6.4查询报表 (25)6.5字段 (26)6.6变量 (28)7 Report Sections (31)7.1 Main Report Sections (31)7.2 数据分组 (36)8 脚本程序 (38)9 报表元素 (38)9.1文本元素 (40)9.2图像元素 (45)9.3超链接 (48)9.4元素组 (48)10 子报表 (49)10.1子报表参数 (50)10.2子报表数据源 (50)11高级JasperReports应用 (50)11.1 XML报表的导入和设计 (50)11.2实例化数据源接口 (50)11.3自定义查看器 (50)11.4导出新的格式 (51)1 简介Jasperreport是一款报表打印组件,是开放源代码组织中的一个java报表打印工程,是一款功能强大的报表生成工具。

jasperreports初级中文教程之报表参数

jasperreports初级中文教程之报表参数

jasperreports初级中文教程之报表参数填充一个报表的主要输入是:报表模板,参数和数据源。

本章将介绍这些参数,并在接下来的章节中,我们将介绍数据源。

参数是在报表填充操作传递给报表引擎的对象引用。

参数传递有用的数据到报表引擎,它可以不通过数据源来传递的数据是有用的。

如作者姓名,报告等的标题数据,可以通过参数传递。

Jasper报表模板或JRXML模板可以包含零个或多个参数的元素。

参数声明参数声明很简单,如下所示:<parameter name="exampleParameter"class="ng.String"/>name属性parameter>元素的name属性是强制性的。

它通过名称引用的参数在报表表达式。

参数名应该是一个单词。

它不应该包含任何特殊字符,如句号或逗号。

class属性class属性也是强制性的,它指定了参数值的类名。

它的默认值是ng.String。

这是可以改变的,以在运行时可用任何类。

不论报表参数的类型,引擎采用构造于$P{}标记是用来报表表达,从而使手工投射不必要。

内置参数以下是预定义的报表参数,准备在表达式中使用:Parameter Name描述REPORT_PARAMETERS_MAP包含所有用户定义和内置参数映射REPORT_CONNECTION 这指向用于JDBC数据源的用户提供java.sql.Connection 中REPORT_DATA_SOURC E 这是JRDataSource代表任一用户提供的实例中的内置的数据源类型或用户定义REPORT_MAX_COUNT 这是一个ng.Integer的值,从而允许用户从数据源限制记录。

REPORT_SCRIPTLET 这指向net.sf.jasperreports.engine.JRAbstractScriptlet和包含报表的scriptlet,由用户提供的一个实例REPORT_LOCALE 这是一个java.util.Locale的实例,包含资源包所需的语言环境REPORT_RESOURCE_BUNDLE这指向java.util.ResourceBundle对象和包含本地化的消息REPORT_TIME_ZONE这是一个java.util.TimeZone的实例,用于日期格式REPORT_VIRTUALIZER 这是net.sf.jasperreports.engine.JRVirtualizerobject一个实例,以及用于网页的虚拟化(优化内存消耗)REPORT_CLASS_LOAD ER 这是在报告充填过程中使用的加载,如图像,字体和子报表模板资源ng.ClassLoader的实例IS_IGNORE_PAGINATIO N 如果设置为ng.Boolean.TRUE报告将在一个很长的网页和分页符来产生不会发生例子让我们通过ReportTitle和Author报表(由JasperReportFill.java生成)。

JasperReport学习必备手册

JasperReport学习必备手册

JasperReport学习必备手册(小弟第一次发帖,好像用小字体才好看些,大家将就一下)这是我学习JasperReport的一点经验,欢迎大家指正、赐教,我只是起个砖块的作用,大家就接着抛玉吧,希望最后真的能累成一个必备手册,呵呵。

假设大家已经对JasperReport有一定的了解(至少知道大概的开发流程),这里就不赘述JasperReport的好处、设计、表达式的定义等JasperReport 自带文档里有的东西了。

可能因为我是java新手,所以遇到的问题特别多,下面仅列一些,并附上我的解决方法:Jsp生成不了 PDF的问题生成 HTML 时 JRHtmlExporterParameter.lMAGES_MAP 的问题中文显示的问题图片显示的实现方法(JFreeChart)我的通用.jasper生成方法我的项目的实现Jsp生成不了PDF的问题问题描述:运行自带的web(webapp目录下)例子时(我使用的服务器是TomCat),用Servlet生成PDF完全没问题,而JSP方式却报getOutputStream () has already been called forthis respons的令昔,看JSP源码发现和Servlet差不多。

问题原因:Tomcat首先执行.jsp文件开始的Java代码,然后准备session, out等变量。

而输出PDF的代码出现在.jsp文件开始的<% ... %>段中,这样HttpServerletResponse的getOutputStream()方法已被调用。

在JSP规范中定义此方法只能被调用一次,这样当Tomcat准备out变量时必然会出错。

所以基于TomCat的服务器都会出错,如Jboss?un ONE AppServer解决方法:很简单,按照JSP/Servlet规范定义输出非文本内容,如图片、声音等应该使用Servlet而不是JSP。

在Servlet中输出流完全由应用程序按需打开/关闭。

jasperreports中文入门教程之编译报表设计

jasperreports中文入门教程之编译报表设计

jasperreports中文入门教程之编译报表设计我们在前面的章节中产生的JasperReport模板(JRXML文件)。

这个文件不能直接用于生成报告。

它必须被编译成JasperReport的“本地二进制"格式,称为Jasperfile。

在编制我们把JasperDesign对象转换成JasperReport的对象:接口net.sf.jasperreports.engine.design.JRCompiler编译过程中起着核心的一部分。

这个接口有根据用于报表表达式语言,它可以只要编译器可以实现在运行时计算它被用Java编写的,Groovy,JavaScript的或任何其他脚本语言的几个实现。

我们可以通过以下两种方式编译JRXML文件:1.提供编程编译。

2.编译通过ANT任务。

JRXML提供编程编译JasperReports的API提供了一个门面类net.sf.jasperreports.engine.JasperCompileManager用于编译JasperReport。

这个类包含几个公共静态方法编制的报告模板。

模板的源可以从文件,输入流,内存中的对象。

该jrxml文件(jasper_report_template.jrxml)的内容如下。

它被保存在目录C:\tools\jasperreports-5.0.1\test:<queryString><![CDATA[]]></queryString><field name="country"class="ng.String"><fieldDescription><![CDATA[country]]></fieldDescription> </field><field name="name"class="ng.String"><fieldDescription><![CDATA[name]]></fieldDescription> </field><columnHeader><band height="23"><staticText><reportElement mode="Opaque"x="0"y="3"width="535"height="15"backcolor="#70A9A9"/><box><bottomPen lineWidth="1.0"lineColor="#CCCCCC"/> </box><textElement/><text><![CDATA[]]></text></staticText><staticText><reportElement x="414"y="3"width="121"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"><font isBold="true"/></textElement><text><![CDATA[Country]]></text></staticText><staticText><reportElement x="0"y="3"width="136"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"><font isBold="true"/></textElement><text><![CDATA[Name]]></text></staticText></band></columnHeader><detail><band height="16"><staticText><reportElement mode="Opaque"x="0"y="0"width="535"height="14"backcolor="#E5ECF9"/><box><bottomPen lineWidth="0.25"lineColor="#CCCCCC"/> </box><textElement/><text><![CDATA[]]></text></staticText><textField><reportElement x="414"y="0"width="121"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"><font size="9"/></textElement><textFieldExpression class="ng.String"><![CDATA[$F{country}]]></textFieldExpression></textField><textField><reportElement x="0"y="0"width="136"height="15"/><textElement textAlignment="Center"verticalAlignment="Middle"/><textFieldExpression class="ng.String"><![CDATA[$F{name}]]></textFieldExpression></textField></band></detail></jasperReport>下面的代码演示了上述jasper_report_template.jrxml文件的编译。

jasperreport使用介绍(收藏)--大家一起来学JAVA

jasperreport使用介绍(收藏)--大家一起来学JAVA

jasperreport使用介绍(收藏)--大家一起来学JAVA1 简介JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。

最重要的是它是开源的,这给我们带来很大方便,但是文档却要钱,让人不爽。

不过人总要生存,再说,做这么一个好东西,用户总不能一点代价也开源工程—IReport,这是一个的辅助工具,因为JasperReport仅提供了可使用的类库而未提供更好的开发工具,IReport的出现解决了这一难题。

它们配合使用将会更大程度的提高效率。

该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。

它的主要目的是辅助生成面向页面的(),准备付诸打印的文档。

JasperReport借由定义于XML文档中的report design进行数据组织。

这些数据可能来自不同的数据源,包括关系型数据库,,java对象数组。

通过实现简单的接口,用户可以将report library插入到订制好的数据源中,在以后我们将提到有关内容。

其实这是一份JasperReport Ultimate Guide的简单翻译以及我的理解和例子。

在最后,我将描述一个我正在做的工程,将其中用到的相关信息贡献出来。

我这么做是因为当我在学这个类库的时候苦于很少有相关的中文文档,诱惑语焉不详,希望其他人不再受苦。

这个文档将分几次贴出来,与原文档的章节相对应。

这份文档的Word形EMail是****************有什么意见或想法请与我联系。

闲言少叙,进入正题。

2 API概览上图为一个生成报表并打印(导出)的全过程。

我将会把涉及到的重要的类进行一一说明。

Class net.sf.jasper.engine.design.JasperDesign这是一个未经加工的报表实例,供JasperReport Library使用。

这个类可以在JasperReport类库内置的XML解析器对XML report design进行解析处理之后得到。

iReport使用指南及常见功能示例详解

iReport使用指南及常见功能示例详解

iReport使⽤指南及常见功能⽰例详解⽬录报表结构数据源⽰例3.1 简单⽰例3.2 分组⽰例3.3 ⼦表⽅式分组查看3.4 图表⽰例3.4.1 饼图3.4.2 柱状图3.5交叉报表在使⽤ireport的过程中,因为各种功能都要百度,但是⼤家使⽤的例⼦⼜千差万别让⼈很苦恼,所以⽤⼀个简单例⼦贯穿的展⽰⼀下ireport的常见功能。

我使⽤的是iReport 3.5.1,使⽤的⽰例数据表如图:sales表:(⼈名、⼤致结构来⾃帆软电⼦⽂档,如有雷同,⽆意冒犯)sellers表:下⾯开始介绍:报表结构左边是view区,联系着主设计区中的各个band区域的数据,以及参数、变量等。

中间是主设计区,通过拖拽控件⾯板可以在此区域进⾏设计,有三种模式:设计(Designer)、源码(Xml)、预览(Preview),设计模式是可视的,源码⽅式可以直接在上修改,预览是对设计好的报表样式进⾏预览,也是⼀个编译的过程;右边是控件⾯板和属性⾯板,可以在此使⽤控件和设置属性。

JasperReport有三个⽅式来保持数据:Field、Paramrter、Variables。

⼀般情况下,Field是⽤作保存从数据源取出来的数据,⽤法是;Parameter是⽤来占位—我们在设计时往往不知道具体的值,那么⽤⼀个参数来占住它们的位置,在执⾏时,从程序或者数据库中传递对应的参数过来,从⽽实现⼀个动态的过程,⽤法是Variables是变量,可以将变量⽤于TextFild表达式中,也可以设置它的属性,使它具有⼀些功能,如求和,求平均数等,⽤法是数据源ireport提供很多种数据源的连接⽅式,点上⽅的数据库标识就可以设置数据库,下⽅的数据标识⽤来写SQL语句获取数据。

我们这⾥选择jdbc数据连接,mysql连接语句,数据库名称是testtest⼀下是否连通,输⼊数据库密码以后,如果成功会出现提⽰:⽰例3.1 简单⽰例⾸先连接数据库表sales:点击ok,这时左侧view窗⼝的field区域就得到了取到的数据:这时,在主设计区域拖拽静态⽂本控件:在column header区域添加列名,然后拖动左侧的field字段到detail域相应的列名下:3.2 分组⽰例有时候我们需要分组来观察数据,这时就需要group,我们以区域id来分组,需要注意的是,如果使⽤group分组,需要在⼀开始的sql语句中加上order by语句,否则ireport是不会⾃动分组的。

JasperReport报表使用方法

JasperReport报表使用方法
Java代码 收藏代码
public List<Map> getResultList(List<DrivingHistoryDataVO> dataList) {
List<Map> returnList = new ArrayList<Map>();
// 保证记录顺序不变,使用TreeMap
第四部执行编译成jasper文件
1、首先,在用iReport设计报表时将要显示中文数据的地方的属性设置如下:
Font name: 宋体 (中文字体)
PDF font name: STSong-Light
PDF Encoding: UniGB-UCS2-H(Chinese Siplified)
jrxml编译成jasper文件的步骤:
第一步:建立好java实体类(pojo)
第二步:将建立好的java类达成jar包
(此处一定要记得配置classpath读取jar文件)
第三步:设置iRport数据源(javaBeanDataSource),输入完整的全类名(包括包名)
先定义一个功能需求,然后我们展开说明。一个车辆行驶数据分析系统中需要实时获取行驶数据,这需要车载设备来实现。数据上传存储在Web端的数据库中,我们需要从数据库中获取数据来显示内容。
使用JavaBean作为数据源,首先我们要扩展JasperReport的数据源。实现方法很简单,我们定义一个类去实现net.sf.jasperreports.engine.JRDataSource接口即可,覆盖其中的方法。下面给出一个示例。
而问题又出现了,如果这两个字段自动换行了,那么必然把一行上的其他元素都给撑大了,那么还需要对其他元素进行设置。选中其他的所有元素,在属性面板的Stretch Type中选择Relative to Tallest Object就可以自适应到最高换行的元素了,显示效果就正常了。

收藏JasperReport初级教程(2.0.3)图文详解

收藏JasperReport初级教程(2.0.3)图文详解

1下载iReportiReport是一个可视化的报表模板设计工具,使用此工具能方便地对报表进行设计。

在iReport中已经包含了jasperreports在运行时需要的jar文件,在项目中的lib目录中包含Jasperreports-***.jar即可,其中***为版本号,比如2.0.3。

下载地址:/project/showfiles.php?group_id= 64348,此文档编写时版本为2.0.3,如图:点击download出现以下界面:可以看到提供了多种下载包,其中:ØiReport-2.0.3-src.zip:为iReport的源代码ØiReport-2.0.3.tar.gz:为.tar.gz格式,一般用于Linux、Unix等非wi ndows系统ØiReport-2.0.3-windows.installer.exe:为exe格式,一般用于windo ws系统ØiReport-2.0.3.zip:为zip格式,可以用于各类操作系统本文使用window版本为例,因此下载iReport-2.0.3-windows.inst aller.exe即可。

2安装iReport安装iReport需要先设置JDK环境,2.0.X版本要求JDK1.5环境(另参考文档)。

如果是windows系统,直接双击安装图标即可。

(如果是下载的ZIP文档,则将其解压到指定的目录,还需运行bin/startu p.bat)。

如果是其他系统,比如Linux,Unix等,解压下载的安装文件(如下载的是tar.gz格式,使用tar xvfz iReport-2.0.3.tar.gz进行解压,如下载的zip格式,使用zip命令解压),然后运行bin/startup.sh即可。

以下以在windows上安装为例:A.欢迎界面,点击“N ext >”继续B.阅读license内容,点击“I A gree”继续C.选择安装组件,点击“N ext >”继续D.指定安装路径,点击“N ext >”继续E.指定程序组名称,点击“I nstall”即可F.等待安装过程G.安装结束,点击“F inish”完成在桌面上会出现如此图标:。

jasperReport使用说明

jasperReport使用说明

一、iReport软件安装步骤。

(默认安装即可)1、在安装iReport之前,先把jdk的环境变量配置好!否则iReport不能用,这是因为iReport是用纯java写的。

2、开始安装,双击iReport-4.0.2-windows-installer.exe3、点击next4、点击I Agree5、选中iReport,点击Next6、可以更改路径,点击Next7、剩下步骤,按照默认安装,安装完成!二、工具使用,新建模板、调整样式。

设计一个最简单的报表1、新建一个A4竖行的jrxml模版,如下图,点击Open this Template2、选择保存路径,点击下一步3、点击完成进入如下图,就可以编辑报表了4、开始编辑报表,如给报表添加一个标题“报表的标题”,在组件面板里将Static T ext 用鼠标直接拖到Title区域中将标题组件拖到合适的大小,也可以编辑字体等。

但是一定要在Title 区域。

5、用同样的办法,可以将需要的组件拖到报表模版中。

其中常用的StaticText是静态的,TextField组件是动态的。

6、如下图,是一个做好的报表。

其中$F{region_name},$F{ip},$F{volume}和javaBean的属性名字应一致,包括大小写,否则会找不到这个字段。

另外$V{index}是报表中自定义变量。

其中,可以查看属性配置,例如region_name,又如,自增变量index,如下还可以进行编辑表达式,7、最终编辑的ireport文件,就是一个xml文件8、预览9、JasperCompier再把这个xml文件编译成jasper文件,进行加载。

用jasper的jar类库把数据以报表的形式展示出来。

也可以导出成html、excel、cvs、pdf等各种格式。

10、导出pdf,需要设置属性和,否则中文会乱码。

11、也可以手工在iReport中编译成.jasper文件,然后在程序中加载.jasper文件。

jasperreport%2Bireport开发java报表入门级教程

jasperreport%2Bireport开发java报表入门级教程

特别声明:本文版权为原文作者李克喜所有。

1使用iReport制作报表的详细过程(Windows环境下)1.1前言在网络上可以搜索到很多使用iReport和Jasperreport配合实现各种报表任务的文章,但是我觉得很少有一篇(几乎没有)做一个比较详细的介绍如何使用iReport制作报表的全过程,我所看过的文章的基本思想是覆盖面广,很多内容都是提及即过,并不是开发人员都有时间为每个实践花费时间自己实现,如果能有更详细的资料,那岂不是一件乐事。

出于这个念头促使我写这篇文章,希望能对那些使用iReport和Jasperreport朋友有所帮助,特别是需要亲身去实现报表的朋友,希望能给你们带来一点帮助。

本文不是对iReport的每个细节进行介绍,关于iReport的每个细节可以参考iReport网站的资料,但是可能得花费一些费用。

一般用户没有必要付出这些费用,因为我们关心的是如何制作我们需要的报表,而不是去扩展iReport,比如制作iReport的插件。

1.2准备1.2.1下载JDK1.2.2下载iReport1.2.3准备数据库1.2.4启动MySql服务确定Mysql使用的的字符集是重要的问题,特别是对需要中文报表的朋友,应该特别注意这个问题。

1.2.5确定商务逻辑也就是希望完成什么样的报表任务。

需要实现的报表的详细描述,这是实现报表的业务条件,否则所有的任务绝大部分没有意义。

本文使用一个Bug记录表为例,本文的例子是制作一个根据项目和项目中的模块分组的Bug量统计。

1.3开始配置基本信息1.3.1配置界面使用的语言和报表输出路径第一次进入系统是英文环境,可以通过【Tools】-【Options】开启配置iReport 系统的基本信息对话框。

在“Language”选项里面选择你需要的界面语言,比如“中文-中国”。

点击【Apply】按钮,系统既把整个界面中文化。

在配置iReport系统的基本信息对话框中选择【编译】Label,之后决定你的报表输出路径,可以把“编译在报表数据文件夹”选择打勾,这样报表的jrxml 文件和jasper文件就放置同一文件夹。

使用JasperReport输出image图像

使用JasperReport输出image图像

使用JasperReport输出image图像最近公司新项目上有一个新的需要,即在原来用jasper打印出来的文档上面,加上一个可以进行识别的东西(暂定为条形码),然后对这个文档的扫描件进行识别。

初步确定就是修改原有的jasper资源文件,并在打印方法中加入一个对条形码的field引用,这样来完成在文档上打印条形码的需求。

但后面这一需要进一步修正,因为要将扫描件保存入数据库中,这时就想到如果不通过扫描设备,而直接将jasper在客户端调出打印的时候,由服务器端生成一个jasper图像,再将这个图像直接入库。

这样就避免了二次扫描的麻烦。

在网上google了一下关于jasperReport的应用,发现大部分都是讲如何将jasper导入一个html或pdf进行打印的例子,并没有直接将jasperReport打印生成一个图像的示例。

包括jaspe自带的demo里面,也没有相应的例子,决定自己看看相应的api,找一个可以运用的东西。

产生想到的是jasper自带的ImageServlet这个类,认为可以从这个类方法中找到一些可以参考的东西。

可惜将代码粗略看一道,就失望了。

这个类不是将一个jasper输出一个图像文件,而是输出一个jasper文件中指定图像名称中的图像信息。

也就是说,这个类根本不能将一个jasper完整输出成一个图像的byte[]数组。

看完这个类,我还真不知道这个类有什么样,至少现在我不看好这个类。

接到就找export包中的相应类,看能否找到一个根图像有关的exporter,最后找到这样一个类:JRGraphics2DExporter.java,从文档可以看出,它可以完整的将一个jasper文档输出到一个graphics对象中,而不像其他的exporter只是近似的模拟。

但是这个文档同时也说明,它只是输出到graphics对象,而不是输出到一个文件或字节流中。

当然这不是问题,我们可以创建一个可以产生graphics的对象(比如说bufferedimage),然后用g进行export,当然最后的信息就保存在拥有g的对象上了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何调用Java代码,请查看另一篇文章:JasperReport初级教程(2.0.3)调用Java代码_图文详解_绝对原创如需转载,请注明出处,http://www.川江号子.cn 。

另,本人有Word电子文档格式,如需要,请联系本人:asima127@gmai 由于有些图片以前是放在巴巴变上的,现在巴巴变不提供外链了,如果你愿意支付一定的费用,请访问该文档的购买地址:【/auction/item_detail-0db2-03c1768339f 915aec75afd6f1f49426b.jhtml】1下载iReportiReport是一个可视化的报表模板设计工具,使用此工具能方便地对报表进行设计。

在iReport中已经包含了jasperreports在运行时需要的jar文件,在项目中的lib目录中包含Jasperreports-***.jar即可,其中***为版本号,比如2.0.3。

下载地址:/project/showfiles.php?group_id= 64348,此文档编写时版本为2.0.3,如图:点击download出现以下界面:可以看到提供了多种下载包,其中:ØiReport-2.0.3-src.zip:为iReport的源代码ØiReport-2.0.3.tar.gz:为.tar.gz格式,一般用于Linux、Unix等非wi ndows系统ØiReport-2.0.3-windows.installer.exe:为exe格式,一般用于windo ws系统ØiReport-2.0.3.zip:为zip格式,可以用于各类操作系统本文使用window版本为例,因此下载iReport-2.0.3-windows.inst aller.exe即可。

2安装iReport安装iReport需要先设置JDK环境,2.0.X版本要求JDK1.5环境(另参考文档)。

如果是windows系统,直接双击安装图标即可。

(如果是下载的ZIP文档,则将其解压到指定的目录,还需运行bin/startu p.bat)。

如果是其他系统,比如Linux,Unix等,解压下载的安装文件(如下载的是tar.gz格式,使用tar xvfz iReport-2.0.3.tar.gz进行解压,如下载的zip格式,使用zip命令解压),然后运行bin/startup.sh即可。

以下以在windows上安装为例:A.欢迎界面,点击“N ext >”继续B.阅读license内容,点击“I A gree”继续C.选择安装组件,点击“N ext >”继续D.指定安装路径,点击“N ext >”继续E.指定程序组名称,点击“I nstall”即可F.等待安装过程G.安装结束,点击“F inish”完成在桌面上会出现如此图标:。

3编辑一个报表模板3.1 启动iReport启动iReport-2.0.3,如图:由于安装好之后默认的产生.jasper文件就在当前目录,为了便于管理,可以对iReport设计软件进行一些设置,统一目录来保存编译好的jasper文件。

iReport可以有多种方式进行报表预览(pdf、excel)等,每次预览时候,如果选择这些格式,那么会产生这些文件,也可以通过此设置统一保存。

工具栏上“O ption”->“选项”,然后在选项卡上选择“Compiler”,对“De fault compilation directory”和“Directory where the paged out data is stored”进行设置,点击旁边的“浏览”即可进行目录选择。

如果编译不希望保存自动产生的java文件,可以去掉“keep .java file”前面的勾选。

3.4 新建报表模板SampleA.工具栏->“档案”->“开启新档”B.输入报表名称,本文为“sample”,点击“OK”继续C.如图界面如图,可以看到报表模板正文分几个区域,解释如下:Øtitletitle 段只在整个报表的第一页的最上面部分显示,除了第一页以外,不管报表中共有多少个页面也不会再出现title段中的内容。

ØpageHeaderpageHeader 段中的内容将会在整个报表中的每一个页面中都会出现,显示在位置在页面的上部,如果是报表的第一页,pageHeader 中的内容将显示在title段下面,除了第一页以外的其他所有页面中pageHeader 中的内容将在显示在页面的最上端。

ØcolumnHeader针对detail段的表头段,一般情况下在这个段中画报表中列的列标题。

每页均会出现一次。

Ødetail报表内容段,在这个段中设计报表中需要重复出现的内容,detail 段中的内容每页都会出现。

ØcolumnFooter针对detail段的表尾段,每页均会出现一次。

ØpageFooter显示在所在页面的最下端,每页都显示,最后一页由lastPageFooter替代ØlastPageFooter最后一页页尾段内容,只在最后一页出现一次。

Øsummary表格的合计段,出现在整个报表的最后一页中的detail段的后面,一般用来统计报表中某一个或某几个字段的合计值。

D.创建数据库类型的JDBC数据源iReport支持多种数据库,本例采用mysql作为示例工具栏上“D ata”->“连结/资源来源”在“Connections/Datasources”界面中点击“New”在“Connections properties”中选择“Database JDBC connection”,点击“Next”继续,这里可以看到,jasper report的数据来源可以有很多方式:数据库、XML文件、JavaBean文件等,从下图中可以看出来。

E.指定数据库JDBC类型和JDBC URL其中,iReport中已经包含了mysql和hsqldb这两种数据库的驱动jar 文件,可以根据实际需要选择不同的JDBC Type,(记得拷贝相应的数据库JDBC驱动jar文件到项目的lib目录中)根据实际内容,输入JDBC URL和用户名及密码输入完成后,点击“T ext”,如出现如下界面,说明连接成功。

点击“s ave”保存,在列表中可以看到此连接的配置F.设置报表查询工具栏“Data”->“报表查询”出现如下界面:可以看到数据源有多种方式,这里我们使用Report Query方式,这种方式可以直接选择Query Lanuage种类,然后再在编辑框中输入SQL语句。

如:select * from employee,然后会自动读取相关表的结构出来,如图:点击“O K”以后,这些表的Field Name将会被加入到“Document str ucture”的“Fields”部分,如图:这里也可以采用另一种方式,就是引入参数,这样可以在调用的时候根据业务规则比较灵活地通过设置参数来改变数据内容:在“Document structure”区找到“Parameters”,右键单击后,选择“A dd…”,再选择“Parameter”,如图:输入以下内容,Parameter Name在报表查询界面中要使用,或在自己的业务逻辑中使用,可以改变,这里也可以给一个默认值,即Default Val ue Expression内容,注意Parameter Class Type类型,本例使用默认的ng.String在“报表查询”编辑内容中就指定为使用此参数,格式为“$P!{paramete rName}”,本例中就使用“$P!{SQLSTR}”,输入后,同样可以看到表结构会自动更新出来,点击“OK”,同样会把这些表结构内容放置到“Fileds”区域中。

G.编辑报表模板如图:在编辑区中对应的段中放置需要的要素,要素有很多种,常用的有以下几种类型:Ø静态文本内容:这些内容是固定不变的文本内容,如上图的“Test Re port”Ø参数(Parameter):如上图“$P{SQLSTR}”Ø字段(Fields):如上图“$F{EMPLOYEE_ID}”Ø变量(Variables):如上图“$V{PAGE_NUMBER}”从这里面把需要的内容拖出来放置到模板编辑区中相应的段中即可。

H.编译预览在工具栏上找到,分别是编译、执行、执行(动态连结),点击编译将会产生.jasper文件,点击执行会先编译再预览(如果设定了对应的预览)。

预览有多种方式,点击工具栏上“建立”,可以看到如下图多种预览方式:根据需要选择预览类型,还要注意,如果没有对应的软件(比如Adobe Reader)来查看生成好的文件,那不会看到效果,iReport会在对应的目录生成文件而已(见3.3节)。

如何设置文件的查看软件,还是在工具栏上点击“Op t ions”->“选项”,然后在选项卡中选择“External Programs”,再对每一种需要设置的格式选择对应的查看软件,如图:这样,指定了预览文件的类型,又指定了预览的软件,点击预览时就会采用对应的润见展示出来。

I.预览效果J.报表模板制作完成4Web中使用iReport4.1 开发工具开发工具使用eclispe3.2.2和MyEclipse5.0搭配开发。

环境配置参考另外的手册。

4.2 创建项目打开Eclipse,在工具栏中,“F ile”->“N ew”->“O ther”创建一个web项目,选择“MyEclipse”下的“Web Project”,点击“Ne xt”下一步,如图:输入Project Name,本例为“iReportTest”,点击“F inish”完成如图:在项目列表中可以看到iReportTest的项目:4.3 导入jar文件在项目中找到“WebRoot”->“lib”,右键单击,选择“I mport…”,如图:选择“General”->“File System”点击“N ext”继续点击“B r owse…”,指定jar文件,这里初级学者可以指向Jasper安装目录下的lib目录中所有的jar文件,这样可以快速看到效果,可以排除其中的txt文件。

项目中可以看到jar文件被引入了,如图:4.4 导入jasper文件在WebRoot下建立目录report,并把3.4节编译好的jasper文件导入进来。

4.5 处理带有中文的报表当生成为PDF格式时,可能会发现中文内容无法显示,主要是设置font 时候需要注意以下几点:1.设置的字体的Font Name需要是能显示中文的,比如宋体、SansSerfi2.设置PDF Font Name为STSong-Light3.设置PDF Encoding为UniGB-UCS2-H (Chinese Simplified)4.是否lib中包含iTextAsian.jar文件右键单击需要改变字体的内容,选择“属性”,在选项卡中选择“Font”,做如图更改:PDF预览效果如下:4.6 字体属性统一设置在上一节中是针对每一个字体框进行设置,如果需要设置100个的话,这样一个一个去设置就显得比较繁琐,减低了效率。

相关文档
最新文档