ireport图文教程(超详细)
iReport开发使用步骤

开发使用步骤(iReport 4.1.1)一、JasperReport 和iReport的介绍网上有这个软件的详细介绍。
可以搜索下,进一步了解。
这里只是简略介绍。
1、JasperReport 简介l 一个报表是由一个源代码的文件来描述,这个源文件就是由DTD(jasperreport.dtd, version 0.6.3 is listed in Appendix B)来定义的XML标记。
在0.5.3版本中它的源文件扩展名变成了.jrxml; 取代了一般的.xml扩展名。
报表的源代码被编译成jasper文件(扩展名是.jasper)。
l jasper文件是一种预报表,严密的说就像是java的类被封状成的对象。
Jasper文件通过你的应用程序来加载。
它被添加一个数据源的标记从而创建报表,接着它就能以你想要的格式输出(例如:pdf或xls)。
2、iReport 简介iReport也是开源组织中的一款免费软件,其主要作用是用来以可视化的方式设计生成JasperReport 所使用的报表格式文件,因为JasperReport 本身并未提供很好的可视化报表设计工具,iReport 的出现正好弥补了这个缺陷。
现在的iReport 的最新版本是4.1.3iReport运行时需要sun java2 SDK 1.5及以上版本,为了能编译我们的报表文件我们需要完整的安装JDK。
2、1、iReport几个重要的概念1)报表的动态对象变量、参数、字段○l字段(Fields):是数据库抽取出来的,希望在报表中出现的数据库内容。
比如一个ID 的所有值。
$F{ filedsName }○2参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。
$P{ parameterName }○3变量(Variables):这是报表中一些逻辑运算的表现,比如统计值。
ireport 5.1.0 教程之ireport快速入门文档

ireport5.1.0教程之ireport快速入门文档必要条件:iReport需要Sun Java2SDK1.4以上版本;为了能编译jasper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。
如果你还想编译iReport 源代码,你还要安装Jakarta Ant version1.6以上版本。
硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要只少256Mb的内存和至少20Mb的磁盘空间。
下载:你可以到SourceForge网站上的企业主页上下载最新发布的iReport,可能有几种不同的分类:iReport-x.x.x.zip这是官方的zip格式的二进制文件。
iReport-x.x.x.tgz这是官方的tar gz格式的二进制文件。
iReport-x-x-x-src.zip这是官方的包含源代码的zip格式的二进制文件。
x.x.x表明了iReport的版本号。
每一种都包含必须使用的第三方的库和程序及附加文件,例如模板和一些html格式的基础教程。
如果你想要更多最新版本的源程序,你可以直接地连接CVS库。
但必须要有一个CVS客户端(像CVS,JCVS或者WinCVS)。
如果你有CVS那就执行如下的命令行:cvs-d:pserver:anonymous@:/cvsroot/ireportlogin(目前好象无法连接)and then all on the same line…cvs-z3-d:pserver:anonymous@:/cvsroot/ireportco iReport2这样CVS客户端就可以将iReport的所有文件下载到本地,包括所有的文档,库和所有有用的编译iReport的文件。
就使用其他CVS的用户来说,SourceForge网站也自制了详细的解释用来检出工程。
编译iReport:这些源中包含一个build.xml文件,它是被Jakarta Ant用来编译和启动iReport和或用来创建不同类型的工程。
iReport栏和组(Band and group)

iReport栏和组(Band and group) 立方开源商业智能在本章中,我们将解释如何用iReports去管理bands和groups,在第四章中我们介绍了报表的结构,在本章中我们将要看到如何使用bands来划分报表。
同时我们还将看到如何使用groups,如何创建report中的breaks,如何管理subtotals等等。
8.1 栏(Bands)ireport把一个报表划分成七个主要的bands和一个名为backgroup的band(一共是八个bands),每当我们添加一个group时就会有两个新的band添加到报表当中:group footer bands和group header bands。
点击按钮在弹出的窗口中我们可以对当前报表所具有的bands的进行相关属性的修改。
图8.1通过上图中的窗口,我们可以修改左边列表窗口中的任何一个band的属性,比如它的高(以像素为单位)。
Print When expression表示我们可以在这里输入一个表达式,这样我们可以根据表达式的值来控制当前的这个band是否输出。
这里需要注意的是Print When expression里必须返回一个ng.Boolean类型的对象,如:New Boolean(true)上面的表达式说明这个bands总会被打印(如果我们什么都不输入这个就是默认值),在表达式里可以使用fields,variables,parameters。
根据这个特性我们可以通过相关的fields,variables,parameters来灵活的控制当前的band是否可以输出,比如下面的代码:($F{SALARY}.intValue()>4000?new Boolean(true):new Boolean(false))上面的代码说明当salary的值如果大于4000就输出当前的band否则就不输出当前的band。
把鼠标移到bands的边上我们可以鼠标拖拉的方式改变band的大小以此来适配band 里的内容。
iReport中文教程

iReport中文教程iReport一、介绍iReport是一个能够创建复杂报表的开源项目,它100%使用Java语言编写,是目前全球最为流行的开源报表设计器之一。
由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。
以下是iReport一些比较突出的功能:•拖拽式,所见即所得的报表编辑器;•多样的向导来简化复杂的报表设计任务;•超过30个排版和格式化工具;•报表可转换为PDF HTML EXCEL FLASH CSV RTF TXT OpenOffice Java2D JRViewer等格式;•支持所有有效的数据源。
如:JDBC,CVS,Hibernate,JavaBean等;•用户自定义数据源;•无限次数的撤消/重做;•集成脚本(scriptlet)支持;•内置图表支持:超过20种的图表支持。
并可扩展;•国际化:集成超过15种语言;•报表模板与报表库样式管理;•源文件的备份;•文档结构浏览器。
二、开始在本章中我们将介绍iReport运行时所需要的环境、如何下载iReport以及如何在我们的系统中安装使用。
2.1、运行环境(Requirements)iReport运行时需要sun java2 SDK 1.5及以上版本,为了能编译我们的报表文件我们需要完整的安装JDK。
2.2、下载(Download)iReport官方网址:/cap3.html。
2.3、运行(Run)将文件下载到本地解压后,您可以直接双击iReport.exe或者iReport.bat来运行程序。
注:在本文中iReport的版本是3.0.0。
三、报表结构在本章中我们将分析一下报表的结构,看一下报表中每一部分的作用是什么,以及在生成报表的时候每一部分将产生什么样的效果。
栏(Bands)报表被垂直分成若干个部分,每一个部分我们叫它“band”。
每一个band都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。
如下图。
iReport使用指南

IReport使用指南使用ireport0.2.3作为范例报表属性Report name 定义报表模板名Page size页面尺寸Preset sizes 预设尺寸有多种标准页面尺寸可选择,也可以自定义页面尺寸Width 页面的宽度 (可以选择单位)pixels(像素)inches(英寸)cm(厘米)mm(毫米)Height 页面的高度同上Orientation页面打印方向Portrait纵向Landscape 横向默认值为PortraitPage Margin 页边距Top 上边距Bottom 下边距Left 左边距Rigth 右边距Report Columns 报表列Columns 报表的列数默认值为1Width 列的宽度默认值为555 Spacing 列和列之间的空隙默认值为0Scriptlet class 在模板中使用的脚本类Title on new page 标题是否占用一页True(标题占用一页)False(标题不占用一页)默认值为falseSummary on a new page 总结是否占用一页同上默认值为falsePrint order 当列数不为1时,数据填充方向Vertical (垂直方向)Horizontal (水平方向)默认值为VerticalWhen no data 当数据源中没有记录数据时NoPages(不产生页面)BlankPage(产生一个空的页面)AllSectionsNoDetail(显示除了Detail条目以外的所有条目) 默认值为NoPagesXML encoding 报表模板(xml)使用的编码规则请参考相应的字符集编码公共属性Band 包含被选元素的条目名Top 指定被选元素在条目中的x轴坐标Left指定被选元素在条目中的y轴坐标Width 指定被选元素的宽度Height 指定被选元素的高度Foreground 前景色Background 背景色Transparent 是否透明指定被选元素的背景色是否透明OpaqueTransparent默认值为OpaqueRemove line when blank 为空时移除线当条目中的一条记录所有字段都为空时,是否把该条记录从条目中移除true(移除)false(不移除)默认值为truePrint in first whole band 在第一个条目中输出当你选择Print repeated values为false时,在换页或换列时,是否重新输出该值默认值为falsePrint when detail overflows 当超出细节条目时输出当由于某些原因导致当前条目不能在当前页内被打完,当开始一个新的页接着输出时,被选元素是否在新页上重新输出默认值为falsePrint repeated values 输出重复值当多条记录连续中某字段的值都相同时,是否每条记录的该字段都输出false(仅输出第一条记录中的该字段,其余的都不输出)默认值为truePosition type 位置类型当报表Section因为拉伸而受到影响时,指定被选元素的位置Float(被选元素根据周围元素的尺寸所移动)FixRelativeToTop(元素保持相对于它所在条目顶部的位置)FixRelativeToBottom(元素保持相对于它所在条目底部的位置)默认值为FixRelativeToTopPrint When group changes 当组改变时输出当指定的组发生改变时,输出被选的元素Print When Expression 是否当表达式成立时输出表达式成立时输出被选元素默认值为false,一般不要修改这个值参数属性Parameter name 参数名Parameter class type 参数类型Is for prompting 是否提示输入值是否在应用程序根据参数值提供动态提示Default value expression 默认值表达式Parameter description 参数描述当Is for prompting 为true时,返回该值作为应用程序的提示值字段属性Field name 字段名Field class type 字段的类型Field description 字段描述通常作为字段的别名来使用变量属性Variable name变量名Variable class type 变量类型Calculation type 计算类型Nothing(无)Count(数量)Sum(和)Average(平均值)Lowest(最小值)Highest(最大值)StandardDeviation(标准值)Variance(方差)System(系统)默认值为NothingReset type 重置类型报表变量的值可以在每一个迭代下改变,使用Reset type来决定变量的值在什么时候重新计算None(变量的值不重新计算)Report(变量的值仅在报表数据填充时计算一次)Page(变量的值在报表的每个页计算一次)Column(变量的值在报表的每列计算一次)Group(变量的值在报表的每个组计算一次)默认值为ReportReset group 重置组当Reset type 为group时,指定组Variable expression 变量表达式定义计算变量的值的表达式Initial value expression 初始值表达式初始化变量的起始值系统内建变量PAGE_MEMBER(当前页面号)COLUMNS_MENBER(当前列号,页面列数*(当前页面号-1)+当前列在当前页的号) REPORT_COUNT(报表中的记录数,指从数据源中得到的记录)PAGE_COUNT(当前页中的记录数)COLUMNS_COUNT(当前列中的记录数)Groupname_COUNT(当前组中的记录数)字体属性Report font 可以选择已经定义好了的字体类别Font name 字体名Size 字体的尺寸PDF font name PDF字体名Bold 加粗Italic 斜体Underline 下划线Strike Trough 穿越线LineSpacing 线间隔Single(单)1_1_2(1.5)Double(双)Horizontal alignVertical alignPDF Embedded 指定PDF字体是否被嵌在文档中PDF Encoding PDF字体的编码类型静态文本元素属性Static Text 静态文本的内容文本域元素属性Textfield Expression Class 文本域表达式的类型Evaluation time 表达式计算的时刻具体细节可参考图象属性说明Evaluation group 计算组当Evaluation timed为Group时,指定计算表达式时刻的组Stretch with overflow 超出时拉伸当文本域的内容不能完全被显示在模板定义的区域内时,是否允许文本域拉伸Blank when null 为空时显示空白当文本域内容为空时,是否什么都不显示Pattern 模式模式用来定义文本域表达式输出的格式Textfield expression 文本域表达式文本域的内容超链接属性图形元素属性Pen 画图形所使用的线的类型None(没有线)Thin(细线)1 Point(普通的线)2 Point(中等的线)4 Point(粗的线)Dotted(虚线)Stretch type 当报表Section被拉伸时,图形元素的拉伸行为类型NoStretch(不拉伸)RelativeToTallestObject(图形元素将适应元素组中最高的元素拉伸) RelativeToBandHeight(图形元素将适应条目拉伸)Fill 图形填充方式Solid(实心填充)线元素属性Line direction 线的方向TopDown(从上到下)BottomUp(从下到上)矩形元素属性Radius 矩形四个角的弧度半径(圆角或直角)如果radius为0,该矩形为直角图象属性Image Expression 图象表达式定义被显示图象的表达式Image Expression Class 图象表达式类型ng.Stringjava.io.File.URLjava.io.InputStreamjava.awt.Image默认值为ng.StringScale Image 图象显示方式Clip 图象不伸缩,仅仅显示在模板里定义区域(长*宽)的那部分图象FillFrame 图象伸缩,图象以完全适合模板定义区域的方式显示RetainShape 图象伸缩,以原有图象的比例伸缩以适合在模板定义的区域里显示(适合高度或宽度)默认值为 RetainShapeUsing cache 是否使用缓存默认值为TrueVertical alignmentTop(顶部)Middle(中间)Buttom(底部)默认值为TopHorizotal alignmentLeft(左)Center(中)Right(右)默认值为LeftEvaluation time 表达式计算的时刻(经常用在变量计算页的行数等等)Now (当前的条目被填充时,计算表达式)Report (当报表要结束时,计算表达式)Page (当前页要结束时,计算表达式)Column (当前列要结束时,计算表达式)Group (当指定组的属性发生改变时,计算表达式)默认值为NowEvaluation group 计算组当Evaluation timed为Group时,指定计算表达式时刻的组子报表属性Parameters Map Expression Connection / Datasource Expression Using cacheImage Expression ClassSubreport ExpressionSubreport parameters图表属性组属性Start on a new column是否在新的列开始Reset page number是否在新的页开始Start on a new page是否在新的也开始,并重新计算PAGE_MUMBER Print header on each page 是否在每个新的页上打印组头Min height to start new page 新的也开始的最小高度使组的底部和页底和列底中提供一段间距Group expression 组表达式当该值发生改变时,在报表中产生一个新的组Group header band height 组头条目的高度Group footer band height 组尾条目的高度条目属性Band height 条目高度Split allowed 是否允许分割当条目被拉伸时,是否允许它分页Print When Expression是否当表达式成立时输出表达式成立时输出被选条目默认值为false,一般不要修改这个值。
ireport使用教程

JasperReport那些事儿如果你还不知道jasperreport和ireport,那你可以参考我的上一篇文章,或者谷歌百度一下。
好了,废话少说,Let’s start,Go!我的环境是iReport3.0+JDK6.0。
先看看效果。
1)准备数据源,这里使用XML文件(使用UTF8编码)作为数据源。
2)打开iReport,新建一个空的模版文件。
3)加入一个静态文本(StaticText),右击属性(Property),编辑字体属性和内容。
关于Font Name 属性和PDF Font Name属性需要PMingLiu字体(下载)(将PMingLi u字体放在ireport安装目录的font文件夹下)或者你可以选择其他字体,例如宋体,PDF Font Name 选STSong-Light。
4)接下来就要做表格部分,新建一个子报表(subreport),除了第二步选择No C onnection or datasource,基本上只要点Next就行了。
5)完成上一步后就会跳到子报表NameList_subreport0的视图,其实子报表也是一个独立的报表。
但是你现在只能看到一个叫Detail的区域(band)。
我们还需要更多的区域来结合完成表格的制作。
调出区域管理器(菜单View->Bands),将column header 和column footer的高度(height)设为20.6)在column header加入三个静态文本(StaticText),字体属性和之前的一样,分别加入内容姓名,性别,年龄。
在detail区域加入三个文本(textField),在column fo oter加入一个文本,字体属性和StaticText保持一样。
然后设置所有静态文本和文本的边框,如图。
现在的textField都是没有数据的,那么怎么填充数据呢?现在我们来看怎么配置数据源和填充数据。
7)菜单data->connections/datasource,新建一个XML datasouce,目录位置指向之前建立的XML文件。
ireport说明书

目录1第一章报表简介 (2)前言 (2)2第二章报表设计 (2)2.1下载 (2)2.2配置数据库: (2)2.3新建报表 (3)2.4与数据库连接 (5)2.5报表的动态对象变量、参数、字段 (6)2.6创建组 (10)2.7使用参数 (11)2.8使用变量 (11)2.9最终报表 (11)2.10编译生成报表: (12)1第一章报表简介前言Ireport 是一个功能强大的web报表开发工具,ireport与jasperreport 的结合,使得报表的开发从效率是得到了很大的提高, iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,采用纯Java开发。
iReport允许用户可视化编辑包含Charts、图片、子报表等的复杂报表。
iReport还集成了JFreeChart图表制作包,允许用户可视化地编辑XMLJasperDesign文件, 于打印的数据可以通过多种方式获取包括:JDBC、TableModels、JavaBeans、XML、Hibernate(支持HQL查询语言)和CSV等。
它支持多种输出格式包括:PDF、RTF、XML、XLS、CSV、HTM等。
以下我们以一个实例作为例子对ireport进行一下简单的描述:2第二章报表设计2.1 下载从地址:/,选择最新版本,解压iReport在任意目录,解压后的文件里面有一个iReport.bat,通过双击,过大约30秒钟如果可以弹出iReport的主窗体即表明你的系统已经可以运行iReport了。
2.2 配置数据库:iReport支持绝大部分数据库,只要该数据库能提供JDBC驱动器。
配置步骤如下:1.打开配置界面:选择菜单【data】-【资料数据来源】,会弹出如下界面:可以新建一个数据源,也可以选择上面的数据进行修改.2.我们选择第一个数据源,点modify.在此我们配置了连接到10.100.2.11的DB_CENTER数据库.配置信息如下:点出下面的测试,如果配置成功.则弹出连接成功提示框.2.3 新建报表1.选择菜单【档案】-【开启新档】开启报表属性页,点击【OK】,这样就新建了一个报表:一个报表的结构大致是几个部分:title、pageHeader、columnHeader、detial、colum nFooter、pageFooter、summary、groupHeader、groupfooter。
iReport使用教程

一、iReport简介说到iReport不得不先介绍Jasperreport,Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件。
它支持输出的文件格式包括PDF,HTML,XML,XLS,CVS等等。
而iReport就是一个制作Jasperreport的XML文件的可视化开发工具。
只是一个UI。
二、安装说明2.1 基本安装现在最新的版本是iReport 0.5.1 (Aug 27, 2005).下载后解压然后在根目录双击iReport.bat就可以用了,但是为了可以使用external ttf font还必须要把 iReport-0.5.1/fonts 加到环境变量里面去。
2.2 了解制作报表用的包下载后到到 iReport-0.5.1/lib 里看看,你就可以发现iReport的真面目了。
(1) jasperreports-1.0.1.jarjasperreports 是iReport的核心内容。
它是一个强力的报表产生工具,他有能力描述丰富内容到屏幕上、到打印机或到PDF, HTML, XLS, CSV和XML文件。
它完全用Java编写的,并可在各种Java应用(包括J2EE或WEB应用)中用来产生动态内容。
它的主要目的是以一种简单而灵活的方式来帮助创建导向的页面。
JasperReports组织根据在一个XML文件中定义的报表设计通过JDBC来接受来自一个关系数据库中的数据. 为了以数据来填充报表,报表设计必须首先被编译。
jasperreports的官方网站:/(2) itext-1.3.1.jariText是一个开放源码的Java类库,是用来生成PDF文件的。
iText的官方网站:如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包。
tTextAsian的官方下载地址:/downloads/iTextAsian.jar(3) jfreechart-1.0.0-rc1.jarjfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG 等各式的文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 >”继续C.选择安装组件,点击“N ext >”继续D.指定安装路径,点击“N ext >”继续E.指定程序组名称,点击“I nstall”即可F.等待安装过程G.安装结束,点击“F inish”完成在桌面上会出现如此图标:。
3编辑一个报表模板3.1 启动iReport启动iReport-2.0.3,如图:iReport启动会根据运行的机器的Locale属性自动设置软件语言(Language),这里可能会出现一些偏差,笔者使用的是简体中文,但启动后设计界面是繁体中文,因此我们需要对其进行设置。
3.2 设置默认语言工具栏->“工具”(或“O ption”)->“選項”更改语言种类,从下来菜单中选择“中文(中国)”。
如果打开就是此项,可以先更换成别的种类(比如“中文”),然后再次进入此界面将其更换成“中文(中国)”。
点击“存檔”后,可以看到界面变成了“简体中文”: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 structure”的“Fields”部分,如图:这里也可以采用另一种方式,就是引入参数,这样可以在调用的时候根据业务规则比较灵活地通过设置参数来改变数据内容:在“Document structure”区找到“Parameters”,右键单击后,选择“Add…”,再选择“Parameter”,如图:输入以下内容,Parameter Name在报表查询界面中要使用,或在自己的业务逻辑中使用,可以改变,这里也可以给一个默认值,即Default Value Expression内容,注意Parameter Class Type类型,本例使用默认的ng.String在“报表查询”编辑内容中就指定为使用此参数,格式为“$P!{parameterName}”,本例中就使用“$P!{SQLSTR}”,输入后,同样可以看到表结构会自动更新出来,点击“OK”,同样会把这些表结构内容放置到“Fileds”区域中。
G.编辑报表模板如图:在编辑区中对应的段中放置需要的要素,要素有很多种,常用的有以下几种类型:Ø静态文本内容:这些内容是固定不变的文本内容,如上图的“Test Report”Ø参数(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”,点击“N ext”下一步,如图:输入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个的话,这样一个一个去设置就显得比较繁琐,减低了效率。
iReport提供了一个功能,就是把这种设置配置好,然后只是需要的时候选择就可以了。
在工具栏中“格式化”->“Style”(2.0.3是推荐使用这种方式,如果早期版本是选择“字体”),如图:点击“New”创建一种新格式,命名为“宋体”,再进行相关设置,如图:这样,这个“宋体”的Style就设置好了,在设定字体的时候就不需要再到选项卡一项一项地进行设置,在字体的属性中选择“Common”选项卡,在Style中选择这个“宋体”即可:%>代码说明:1.定位jasper文件2.给报表模板中使用到的参数SQLSTR赋值,这里指定一个sql语句3.采用JDBC方式连结数据库4.生成HTML文件,参数分别为报表文件模板物理位置,报表参数,数据库连结5.转向到此页面,这个页面是固定的,需要和报表模板的位置和路径相同发布项目后预览,输入http://localhost:8080/iReportTest/testhtml.jsp(本例采用tomcat作为web服务器,发布过程参考其他文档,数据库采用的mysql)效果:Class.forName("com.mysql.jdbc.Driver");Map parameters = new HashMap();//"SQLSTR"是报表中定义的一个参数名称,其类型为String 型parameters.put("SQLSTR","select * from employee where employee_id like 'Z%'");Connection conn = DriverManager.getConnection(url,"username", "password");byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);response.setContentType("application/pdf");response.setContentLength(bytes.length);ServletOutputStream outStream = response.getOutputStream();outStream.write(bytes,0,bytes.length);outStream.flush();outStream.close();out.clear();out = pageContext.pushBody();%>效果如下:。