ireport图文教程(超详细)

合集下载

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快速入门文档

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)

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一、介绍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使用指南

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使用教程

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说明书

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简介说到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 等各式的文件。

ireport 5.1.0 教程之饼图制作过程

ireport 5.1.0 教程之饼图制作过程

ireport 5.1.0教程之饼图制作过程Ireport所需环境:ireport4.0.2,mysql5.1目标:饼图,百分比,PDF中文一.DB如图:数据源配置略.创建SQL语句:select count(id)as id,department from piechart group by department;二.创建饼图一路下一步到key and values的时候填写如下:然后完成.拖动改变下大小后点击preview可以查看预览生成结果如下:三.为饼图添加百分比显示在饼图属性里面:填写如下:{0}{2}说明:{0}为名称{1}为数量{2}为百分比在次预览如图:四.PDF预览中文问题4.0.2中pdf预览中文依然存在问题,默认对静态文本将不会显示中文,依旧悲剧.可以采用原来的办法,既加入itext-asian.jar到classpath中,然后修改pdf font name和pdf encoding的办法来显示中文,但这种做法ireport已经抛弃,这里采用另一种做法.下载truetype字体,我下载的是微软雅黑字体:选择[工具]->[选项]->[ireport]下font卡牌栏,install font,然后选择刚下载的字体文件,下一步如图:然后完成.这时候直接预览pdf的话还是悲剧,还要做最后一步修改.在static text的属性里面修改Font name为雅黑字体.然后预览:设计好报表后,把*.jasper文件拷贝到工程中,可以开始编码了,但是上一篇写的只是设计器中预览出现中文,而程序生成的PDF报表依旧不能显示中文,这篇将会做个补充.先填代码吧:Java代码1.package .gkhb.ireport.demo;2.3.import java.sql.Connection;4.import java.sql.DriverManager;5.import java.sql.SQLException;6.import java.util.HashMap;7.8.import net.sf.jasperreports.engine.JRException;9.import net.sf.jasperreports.engine.JRExporter;10.import net.sf.jasperreports.engine.JRExporterParameter;11.import net.sf.jasperreports.engine.JasperFillManager;12.import net.sf.jasperreports.engine.JasperPrint;13.import net.sf.jasperreports.engine.export.JRPdfExporter;14.15./**16.*导入报表为pdf文件17.*/18.public class ExportDemo{19./**20.*报表模板位置21.*/22.private final static String jasperfile="E:/myeclipse/IreportDemo/WebRoot/WEB-INF/jasperfiles/pieChart.jasper";23.24./**25.*目标文件位置26.*/27.private final static String desc="G:/download/font/pie_chart_demo.pdf";28.29./**30.*register database driver for mysql31.*/32.static{33.try{34.Class.forName("com.mysql.jdbc.Driver");35.}catch(ClassNotFoundException ex){36.ex.printStackTrace();37.}38.}39.40.@SuppressWarnings("unchecked")41.public static void main(String[]args){42.HashMap hm=new HashMap();43.try{44.//Fill the report using an empty data source45.JasperPrint print=JasperFillManager.fillReport(jasperfile,hm,connectionProvider());46.47.//Create a PDF exporter48.JRExporter exporter=new JRPdfExporter();49.//JRExporter exporter=new JRHtmlExporter();50.51.//Configure the exporter(set output file name and print object)52.exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,desc);53.exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);54.55.//Export the PDF file56.exporter.exportReport();57.}catch(JRException e){58. e.printStackTrace();59.System.exit(1);60.}catch(Exception e){61. e.printStackTrace();62.System.exit(1);63.}64.}65.66./**67.*database connection provider68.*@return69.*/70.protected static Connection connectionProvider(){71.Connection connection=null;72.String url="jdbc:mysql://localhost:3306/test";73.String user="root";74.String password="";75.try{76.connection=DriverManager.getConnection(url,user,password);77.}catch(SQLException ex){78.ex.printStackTrace();79.}80.return connection;81.}82.83./*84.*jpeg85.JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport,parameters_header,dataSource);86.out=response.getOutputStream();87.JasperExportManager.exportReportToPdfStream(jasperPrint,out);88.89.if(printType==0)//if pdf stream90.{91.JasperExportManager.exportReportToPdfStream(jasperPrint,out);92.}else{//if jpeg image stream93.int pageIndex=0;94.BufferedImage pageImage=new BufferedImage(jasperPrint.getPageWidth()+1,jasperPrint.getPageHeight()+1,BufferedIma ge.TYPE_INT_RGB);95.JRGraphics2DExporter exporter=new JRGraphics2DExporter();96.exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);97.exporter.setParameter(JRGraphics2DExporterParameter.GRAPHICS_2D,pageImage.getGraphics());98.exporter.setParameter(JRExporterParameter.PAGE_INDEX,new Integer(pageIndex));99.exporter.exportReport();100.ImageIO.write(pageImage,"jpeg",out);101.}102.out.close();103.*/104.}这个时候如果需要PDF生成后显示中文,需要把安装的字体打包成JAR导入classpath中去,步骤如下:进入ireport安装目录下,然后进入:\ireport\fonts文件夹,用将文件夹下所有内容直接打包成zip,修改后缀为jar,加入到项目classpath就OK了,此时应该就能生成pdf中有中文显示了同为比较常用的java报表生成工具,FineReport对饼图的解决方案和实现方法与ireport有所不同,具体实现思路和步骤如下,供ireport使用者借鉴:复合饼图和复合条饼图1.问题描述当饼图中的多个数据点均小于饼图的10%时,便很难辨别扇区,怎样使小扇区在饼图中更清晰可见,这时就可以使用第二绘图区制作复合饼图或者复合条饼图来解决,如下图效果:复合饼图复合条饼图2.实现原理复合饼图和复合条饼图将小扇区从主饼图中分离出来,放在第二绘图区,可设置为饼图或堆积条形图,百分比的大小还可手动设置。

iReport使用文档

iReport使用文档

目录1.快速入门 (1)1.1连接配置 (1)1.1.1添加一个JDBC连接 (1)1.2报表配置 (4)1.2.1报表配置 (4)2.认识进价 (9)2.1界面认识 (9)2.1.1主页面 (9)2.1.2 Report Inspector: (10)2.1.3组件面板 (10)3.学以致用 (11)3.1报表制作 (11)3.1.1简单报表示例 (11)3.1.2添加框线 (13)3.1.3单元格中添加颜色 (15)3.1.4单元格颜色奇偶行显示 (16)3.2组件使用 (19)3.2.1交叉表(Crosstab组件) (19)3.2.2图形报表(Chart组件): (24)3.2.3子报表(Subreport组件) (27)3.24 表格(Table组件) (31)4.深入研究 (34)4.1函数使用 (34)4.1.1 Sum函数 (34)4.2数据连接 (37)4.2.1超链接 (37)5.工具使用 (42)5.1 Web展示工具 (42)5.1.1 Web展示工具安装 (42)5.1.2 Web展示工具配置 (45)1.快速入门1.1连接配置1.1.1添加一个JDBC连接1、页面介绍:“Recent report”最近打开的报表;“Step1”建立数据连接;“Step2”新建报表;“Step3”运行、预览报表2、点击Step1开始建立连接3、选择“数据源”4、连接JDBC如果没有该数据库的JCBC驱动jar包,iReport会很智能的用红色来显示该驱动的名称,所有你赶快找到该驱动jar包。

5、JDBC的配置6、测试连接是否成功1.2报表配置1.2.1报表配置1、完成数据库的连接之后就开始设计自己报表,点击“Step2”2、选择报表样式3、报表命名及存储路径的选择4、数据源选择5、选择表6、选择字段7、选择字段后展示8、根据你设计表的样式选择需要的字段9、这次做的是简单的报表,“Group by”跳过10、报表创建完成2.认识进价2.1界面认识2.1.1主页面1、每一个部分我们叫它为“band”Title:title段只在整个报表中的第一页的最上面部分显示,除了第一页以外,不管报表中共有多少个页面也不会出现Title bandPage Header:Page Header段中的内容将会在整个报表中的每一个页面中都会出现,显示在页面的上部Column Header:针对Detail Band的表头段,一般情况下在这个段中画报表的表头Detail:报表内容段,在这个Band中设计报表中需要重复出现的内容,Detail段中的内容每页都会出现Column Footer:正对Detail Band的表尾段Page Footer:显示在所在页面的最下端Summary:表格的合计段,出现在整个报表的最后一页中的Detail Band的后面,一般用来统计报表中某一个或某几个字段的合计值2.1.2 Report Inspector:2.1.3组件面板组件面板包括:Break(分页)组件、Chart(图形)组件、Crosstab(交叉表)组件、Frame (框架)组件、Image(图片)组件、Barcode(条形码)组件、generic element(通用元素)组件、List(列表)组件、Spider Chart(蜘蛛图)组件、Round Rectangle(圆角矩形)组件、Table(表格)组件、Line(线条)组件、Map(地图)组件、Rectangle(矩形)组件、Sort(分类)组件、Subreport(子报表)组件Text Field(文本字段)组件、Static Text(静态文本)组件。

iReport使用教程(示例教程)

iReport使用教程(示例教程)

iReport使⽤教程(⽰例教程)在使⽤ireport的过程中,因为各种功能都要百度,但是⼤家使⽤的例⼦⼜千差万别让⼈很苦恼,所以⽤⼀个简单例⼦贯穿的展⽰⼀下ireport的常见功能。

iReport简介说到iReport不得不先介绍Jasperreport,Jasperreport是⼀个报表制作程序,⽤户需要按照它制定的规则编写⼀个XML⽂件,然后得到⽤户需要输出的格式⽂件。

它⽀持输出的⽂件格式包括PDF,HTML,XML,XLS,CVS等等。

⽽iReport就是⼀个制作Jasperreport的XML⽂件的可视化开发⼯具。

只是⼀个UI。

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

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

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

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

ireport(part2)-cn

ireport(part2)-cn

图7.12显示了如何创建一个新的变量,看一下每个字段的意思。

Variable name 他是变量的名字;和字段,参数一样,我们提供下面这个表达式$V{<variable name>}Variable Class Type和参数一样,不用考虑对象的类型;在选择框中包含了大多常用的类型像ng.String and ng.Double; Calculation Type可以预先设置的变量的类型是:“Nothing”不用执行任何计算JasperReports 执行计算来自于datasource的每条新的记录:执行计算变量的意思就是求它的表达式(VariableExpression);如果计算类型是noting,JasperReports就将变量的表达式赋给变量值;如果计算类型不是noting,表达式的结果将计算一个新Reset Type 当变量值被重设Initial Value为或简单null的时需要指定;变量重设是基本的,当你想求一些组的小计或平均值时;重设类型列表(表7.2):Reset typesNone这个Initial Value Expression总是被忽视Report这个变量被初始化一次仅仅在报表创建的开始,用InitialValue Expression。

Page这个变量被初始化在每个新页Column The这个变量被初始化在每个新列(或者在每页,如果这个报表页仅仅只有一列的话)Group The 这个变量被初始化在每一个新的组(我们定义这个组用Reset Group)Reset Group当组选择Group reset类型时用来指定变量的重置Custom Incrementer Factory Class一个叫JRIncrementerFactory接口的java扩展类用来定义像总计一个非数值类型的操作;Variable Expression 用来识别输入值的java表达式Initial Value Expression用来给变量初始化一个值的表达式内置变量像参数,JasperReports安置了一些用户处置的内部变量,他们是易读的,但不能被用户修改。

iReport使用教程

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 等各式的文件。

iReport使用手册(简易配图基础版)

iReport使用手册(简易配图基础版)

iReport用户手册1.1什么是iReport?iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports 库应用于任何一种java应用程序。

本身是分布式的且由符合GNU通用公共许可的百分之百纯java编写。

由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。

iReport能够让我们提高技术方面的信心,比如它能降低学习JasperReports的XML语法的难度,而且能够为熟练的技术人员节省大量的时间并能开发出非常精细的报表。

2.1功能特点以下将列出iRreport的一些比较突出的功能:•百分之九十九支持JasperReports XML标签•所见即所得的报表编辑器,也就是说它具有创建矩形,线,椭圆,正文区域,标签,图表,子报表,条码等完善的工具图标供使用。

•嵌入式编辑器带有灯泡提示代码规则•支持Unicode和非拉丁语言(俄文,中文,日文,韩文…)•文档结构浏览器•完善的报表编译器和输出器•支持所有可以通过JDBC连接的数据库•支持所有有效的数据源•自动报表创建向导•支持子报表•源文件的备份•支持文档模版•支持TrueType字型•支持本地化•可添加插件扩展功能•完全支持脚本•支持图表•标准对象库管理(页码…)•支持拖拽•无限制的取消/重做3.1下载地址iReport-5.5.0-windows版下载链接:/project/ireport/iReport/iReport-5.5.0/iRe port-5.5.0-windows-installer.exe4.1安装流程1.打开安装文件,点击Next2.点击I Agree3.点击Next4.选择安装目录后,点击Next5.点击Install5.点击Finish安装完成5.1使用流程5.1.1新建一个文件1.点击菜单栏文件,选择New2.选择Report和Blank A4,后点击Launch Report Wizard3.编写Report name,选择存放目录后点击下一步4.默认选择Empty datasource,点击下一步5.点击下一步6.点击下一步7.点击完成新建完成5.1.2设置纸张大小以及页面布局飞1.选中文件名后,点击右键选择Page format..2.设置页面格式以及排版模式我们报表的设计是选择纸张大小A3,横向排列,纸张分两页此处特别强调Columns的作用就是将纸张界面分成相等的几部分,一般设置为2,也就是等分为两部分,左边和右边界面相等3.由于我们是画报表所以只需要保留细节(Detail)即可,因此将Title(标题),Page Header(页眉),Column Header(列标题),Page Footer(页脚),Summary(总结),Background(背景)项删除4.打开组件面板和属性面板,默认是打开状态5.1.3主要组件以及属性介绍1.常用组件Break介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Break是分页符,用来分页,可拖移动到细节编辑框中使用,使用效果如下2.常用组件Line介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Line用来画线条,在表格无法实现的情况下可以使用线条加以补充,使用效果如下3.常用组件Static Text介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Static Text是静态文本,是最常用的一个组件,表格的基本组成大多是静态文本,也就是一个个的表格框,可以输入相关信息,相关效果如下属性框截图:以下为重要内容:Static Text主要属性介绍,基本属性里的Left,Top,Width,Height,Forecolor,Backcolor,Opaque和Text properties里的Font name,Size,Horizontal Alignment,Vertical Alignment,Pdf EncodingStatic Text 基本属性1.Left----------表格框跟界面最左侧距离调整2.Top-----------表格框跟界面最左侧距离调整3.Width--------表格框本身的左右长度调整4.Height--------表格框本身的上下长度调整5.Forecolor----前景色调整(可以理解为字体颜色调整)6.Backcolor----背景色调整7.Opaque-------是否透明选项,可以选择,如果想前景色和背景色调整生效,勾选即可Text properties 属性1.Font name----字体名称调整2.Size------------字体大小调整3.Horizontal Alignment-------水平对直,可调整字体在表格框中的位置4.Vertical Alignment-----------垂直对直,可调整字体在表格框中的位置5.Pdf Encoding--------PDF编码,一般选择UniGB-UCS2-H (Chinese Simplified)4.常用组件Text Field介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Text Field是文本字段,也就是一个动态文本,可以将变化的数据传入表格,相关效果显示Text Field主要属性介绍,Text Field Expression文本域表达式,可以修改文本字段的表达方式可以在parameters(参数)中新建一个,然后将原始生成的参数替换一个命名5常用组件Image介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)将Image拖移至细节页面空白处后,会弹出一个图片路径选择框,选择已经保存的图片点击打开后即可调整图片大小相关显示如下Image主要属性介绍,Image Expression路径设置可手动设置图片路径地址5.1.4使用iReport打造一个简单报表报表原图:第一步:拖移6个Static T ext到细节界面空白处,调整好表头的字体,字体大小,背景色,前景色,详细信息参照常用组件Static Text介绍中,效果图如下:第二步:框选已经做好的表头,使用Ctrl+C复制,效果图如下第三步:粘贴后进行前景色和背景色的调整,将粘贴项的Opaque(是否透明)改为不勾选状态,效果图如下第四步:将数据填充进报表,完成。

Ireport图文教程

Ireport图文教程

Ireport简介iReport是一个能够创建复杂报表的开源项目。

使用Java语言编写。

是目前全球最为流行的开源报表设计器。

iReport 也是开源组织 中的一款免费软件,其主要作用是用来以可视化的方式设计生成JasperReport 所使用的报表格式文件,1) 其输出格式有:PDF,HTML,CSV。

JA V A2D,EXCEL,纯文本,JRView。

注意:JRViewer是直接以C/S方式作为报表的输出格式,在JFrame框架下输出。

用它生成的文件有.jrxml和.jasper两种文件。

.jrxml:是可视化编辑的xml文件;.jasper:经编译后生成的类文件,即报表模板文件。

2)它按预定义的XML文档来组织数据,来源多(如:关系数据库,Java容器对象(collection,arrays)等);报表的填充过程:先产生报表设计对象->序列化该对象->存储在磁盘或网络->产生XML文件(表格数据)。

表单的设计过程就是用定义于XML文件中的Java表达式来实现报表的设计。

3)它带数据一致性验证;4)报表引擎必须先接受数据(通过参数等多种形式)来产生报表,更多的是来自数据源,引擎直接接收用于填充表格的数据源对象,或者通过自身提供的JDBC连接对象来处理数据库的数据;5)报表最终要产生一个新的对象来进行填充操作,从而产生打印文档对象,这也是存储在磁盘或网络传输介质的序列化对象;6)内置浏览器能直接查看结果,以PDF,HTML,XML导出;7)重要的类:net.sf.jasperreports.engine.design.JasperDesign其实例是用于报表产生的原始类;net.sf.jasperreports.engine.design.JasperReport表现了报表设计对象,是作为报表的编译过程的结果而被实例化,是向报表中填充数据的准备。

其编辑工具iReport在Eclipse3.2下的安装过程菜单“帮助”->“软件更新”->“查找并安装”->“搜索要安装的新功能部件”--(下一步)-->“新建远程站点”,输入以下内容:名称:JasperForgeURL:/update--(确定)-->“下一步”-->直至完成。

IReport报表制作概述最新版模板

IReport报表制作概述最新版模板

IReport制作报表启动iReport后, 点击菜单”档案”–“开启新档”(见图1), 弹出窗口“Report properties”。

图1在窗口“Report properties”中可定义报表的名称、尺寸、定位及报表边界值等属性(见图2)。

“定位”下拉列表中包含两个选项“Portrait”和“Landscape”, 其中Portrait代表纵向报表,Landscape代表横向报表), 下面以制作”归档文件目录”为例子来介绍如何制作报表。

图2定义报表名称及定位等属性后, 点击“OK”按钮系统弹出报表设计的主窗体。

在窗体的左下方点击右键, 弹出菜单“栏的属性”(见图3)。

图3选择该菜单, 在弹出窗体中设置各个栏的高度(见图4)。

设置方法如下: 选中某个栏后输入高度值, 点击“Apply”按钮。

对不需要显示的栏设置其高度值为“0”即可,注意: 档案的报表最常用的栏目为: columnHeader、detail、columnFooter。

图4在上方选取”静态字段”工具(T图标),再在”columnHeader”栏中画出来(见图5), 以同样的方法增加其它所有静态的文字。

columnHeader栏里面的图表、文字一页只会显示一次,Detail栏中的会根据条件循环显示,直到页面不够画才换一页显示。

图5(1)右键单击画出的静态字段框选”属性”, 在弹出的对话框中(见图6)设置其它属性:Font选项卡中设置字体的相关属性。

(2)在Font Name 选字体;(3)Size选字体大小;PDF Font Name 设置或选择相关的字段 , 注意如果在Font Name选字体名字的不是宋体, 而是其它字体时, 需要通过(4)L ine Spacing中设置行间距;(5)A lign和Vertical Align分别代表静态框中的文字的水平对齐和纵向对齐;(6)R otation中设置文字的显示方向;(7)复选框“PDF Embedded”勾上, PDF Coding 选UniGB-UCS2-H (Chinese Simplified), 如果字体选择不是宋体时需要选择Identity-H (Unicode with horizontal writing) ;(8)Static Text中可以更改静态文字(双击框也可以更改); (9)Border中是设置该属性的边框。

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都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。

如下图。

接下来我们就对每一种类型的band分别进行介绍。

iReport开发使用说明

iReport开发使用说明

iReport开发使用说明本文一下主要就ireport模板生成使用char组件和table的生成过程和开发过程中碰到的问题进行说明(以Javabean为数据源,以sql为数据源的网上资料很多这里不做说明),使用的ireport的版本为5.6.一、使用char组件完成柱状图和饼状图1.先看效果图:效果图中有柱状图一个和饼状图一个,因此使用ireport需要定义两个数据源,整个报表如下所示:2.新建文件:3.设置文件名和生成文件保存路径4.使用new自定义一个javabean数据源单击“下一步”按钮,直到“完成”:出现以下界面,文件生成:5.文件相关参数设置讲图中红色圈中的部分宽度设置为0,只留下title和Summary部分,柱状图在Summary中进行生成,重新设置该部分高度,注意:图形只能在summary区域中生成,否则导出的报表会出现重复。

新的区域图如下:6.Classpath设置点击菜单栏中“工具”—“选项”显示一下面板,打开‘Classpath’选项卡,‘Add Folder’,把自己eclipse中项目所在的classpath选择上去,设置为默认,如下图所示,说明已经Classpath已经配置好。

7.添加数据源参数ds_pie和ds_serial参数默认类型是string类型,按照下图所示将两个数据源类型修改成net.sf.jasperreports.engine.JRDataSource类型。

8.配置javabean右键“report---“Add Dataset”,按照以下图示添加DataSet:在Dataset “ds_pie”上右键点击“Edit Query”,选中JavaBean Datasource 选项卡,按照下图所示配置bean信息:在使用Chart组件时,图中的name和score分别作为key和value出现,Chart组件要求value值必须为数值类型,因此将score设置为float类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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();%>效果如下:。

相关文档
最新文档