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 5.6教程之参数(Parameters)
ireport 5.6教程之参数(Parameters) Parameters通常是用来在打印的时候从程序里传值到报表里。
也就是说parameters通常的是起参数传递的作用。
他们可以被用在一些特定的场合(比如应用中SQL查询的条件),如report中任何一个需要从外部传入的变量等(如一个Image对象所包括的char或报表title的字符串)。
和使用Fields一样,parameters也需要在创建的时候定义它的数据类型。
parameters的数据类型是标准的java的Object。
在ireport中,Parameters的机制是允许用户通过应用程序传递参数致报表当中。
在jasperreort中的某个对象中的expression可以通过下面的语法来访问一个当前ireport中存在的parameter:$P{parameter name}。
如果应用程序没有为报表中定义的parameter赋值,那么parameter将会取我们在定义它的时候设置的default value的值。
parameters是一个Java Object,所以如果它的类型是Object类型,我们在其default value里写下面的表达式就是错误的:0.123你必须要创建一个Object,如:New Double(0.123)这种写法就是正确的。
在查询中使用ParametersParameters可以用来做SQL查询的条件参数的传递。
如果你想根据部门编号(dept_id)得到客户的详细信息(设计的时候我们是不知道这个部门编号的具体值是多少的).此时我们可以这样组织查询语句:select*from employee where dept_id=$P{deptId}此时SQL查询引擎将会采用PreparedStatement来处理传入的deptId值以此作为查询条件参数。
如果你想直接通过parameter值来作为SQL语句的一部分,那么你可以使用下面的特殊语法:$P!{parameter name}。
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使用指南
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中文教程
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的过程中,因为各种功能都要百度,但是⼤家使⽤的例⼦⼜千差万别让⼈很苦恼,所以⽤⼀个简单例⼦贯穿的展⽰⼀下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语句获取数据。
xtrareport pagebreak用法
在DevExpress XtraReport中,可以使用PageBreak控件来实现在特定位置的页面断开。
以下是在报表中添加PageBreak控件的步骤:
1. 在报表设计器中,将需要分页的位置放置一个PageBreak控件。
2. 选中该控件,然后在属性窗口中找到"BreakLocation"属性。
3. 选择"Before the Band"选项,表示在Band之前进行页面断开。
4. 保存报表并预览报表,即可看到在指定位置进行了页面断开。
需要注意的是,在使用PageBreak控件时,需要确保报表中的Band控件有足够的空间来容纳下一页的内容,否则可能会出现页面断开错误。
此外,如果报表中的数据量很大,可能需要调整PageBreak控件的位置或添加其他控件来优化报表的显示效果。
iReport笔记
6、在用jasperReport导出Excel文件时候,要在java工程中导入jxl.jar和poi.jar
7、iReport设置分页
iReport是根据页面的大小自动进行分页的。比如,结果集有100条记录,自定义页面的高度只能显示25条,那么iReport就会自动分成4页。
这里只需设定好Detail的高度即可。
2)在pattern中选择时间格式
3)在TextField Expression中写 java.util.Calendar.getInstance().getTime()
4、设置共几页,第几页
Report inspector/Variables中的$V{PAGE_NUMBER} 表示当前是第几页 ,
在text field 的 选项evaluation time选report是共几页,now表是当前页。
页码可在ireport里直接设置。 “共几页 第几页”
5、iReport导出的PDF文件中中文不显示解决办法
1)在iReport的classpath中添加iTextAsian.jar(亚洲语言jar包)
8、主菜单"窗口"下的"组件面板"可以使用快捷键"Ctrl+Shift+8"
9、在做图形报表(例如:柱状图)的时候需要导入的jar包:jfreechart-1.0.11.jar和jcommon-1.0.14.jar
工具-选项-classpath-Add JAR
2)Text properties
font nameቤተ መጻሕፍቲ ባይዱ宋体
PDF font name:STSong-Light
pdfEncoding:UniGB-UCS2-H(Chinese Simplified)
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快速入门指南
写在前面的话今年北京的夏天格外的热,工作之余竟然不想出去看风景了。
蜷缩在没有空调的房子里才开始怀念冷气的味道,为了降温只能拿块湿毛巾搭在肩膀上。
古老的方式却也带来一丝惬意,打开笔记本想想还是写个总结吧,给自己找点事做,总比闲的好……用这样的字体开始写这段话我只想说明的是这段话无关紧要,权当是我对着自己电脑自言自语吧,你完全可以跳过这里查找你需要的地方。
不过我还是要感谢前辈们的“前人栽树,后人乘凉”的精神,没有他们的无私也没有这篇个人总结的出现。
所以你可以任意分割和转载,同样如果你认为毫无价值可以拉到回收站以免占用您宝贵的硬盘……同样希望得到您的批评和指正,谢谢!目录所谓的介绍 (3)1.JasperReport 简介 (3)2.jFreeChart简介 (3)3.iReport简介 (4)开始愉快的旅程 (6)1.必要条件 (6)2.下载与安装 (6)3.添加一个JDBC连接 (7)4.开始一个简单的报表 (9)5.认识进阶 (14)6.报表中的组件 (16)7.输出报表 (41)8.Web工程中的配置和导出 (44)该结束了 (47)所谓的介绍如果您总是很喜欢看一本书前几页的介绍,很遗憾这里显然无法满足您的需求,不过简要的介绍还是少不了的!1.JasperReport 简介JasperReport 是一款报表打印组件,是开放源代码和免费的,在我写这篇总结的时候,JasperReport 的最新版本是3.7.3版,JasperReport 的最新版本可以从/projects/jasperreports下载得到。
JasperReport 适合用来做WEB应用程序与Java Application的报表打印组件!注:目前已经升级到3.7.4版本,截图是最新官网页面2.jFreeChart简介JFreeChart主要用来各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
Ireport3.0导出Excel用法总结
Ireport3.0用法总结最近2周一直在搞Ireport,由于是新手,很多东西不会,都需要到网上去找,看看前辈们是怎么弄的,学到了好多东西,然后自己也摸索到了一些东西,这里拿出来与大家分享,给工作中遇到困难的人一点参考和帮助,也算是互联网世界的一点回馈。
(相对于从互联网上得到的,这点回馈太少了,呵呵!)基本的常识性的到网上搜吧,一堆,我这个主要是解决具体的问题的!1. 连接Oracle的问题1.1 用Ireport连接Oracle时一定要记住,先把oracle的驱动包放到ireport/lib目录下,然后再去选数据—数据源连接—新建数据源,往后就不介绍了。
2 去掉列最左边的空白的问题1. 1 用Ireport导出Excel的时候会出现这么一种情况,如图所示:看到没,左侧有一片空白,怎么消除这些空白呢,方法如下,选择“选项---输出格式选项---XLS exporter”,选中“Is Remove Empty space between columns ”,选中之后,再试试,空白就去点了,同理,这是列与列之间的空白,如果要去掉行与行之间的空白,就“Is Remove Empty space between rows”选中就OK了。
3.一列数据占据excel中多列的问题3.1Ireport导出Excel的时候,一列数据占据了Excel中的2列或者更多,如下图所示:看下面图中的商户名称,你会发现,它占据了E ,F两列,这是客户不允许的,因为他们不想要合并过的,这样的话,他们处理起来不好处理,问题原因在于,上下没有对齐,就是你的columnHeader和detail没有对齐,或者说detail与pageFooter没有对齐,例如我的报表如下图:这就是没有对齐的例子,detail与pageFooter没对齐,也就是rownum与new Date ()没有对齐,还有上边的图片也没有与rownum对齐,总之,上下都要对齐,这才行,否则就会出现一列数据占据Excel中多列的情况。
ureport2表格循环分页
ureport2表格循环分页在进行数据处理和分析时,有时候需要将较大的数据集分成多个页面进行展示和处理。
在Excel中,可以通过使用ureport2插件来实现表格循环分页的功能。
在本文中,我将详细介绍如何使用ureport2插件进行表格循环分页,并说明其在数据处理中的应用。
ureport2是一款基于Java的开源报表设计引擎,它能够生成各种类型的报表,包括表格、图表等。
它提供了丰富的功能和灵活的配置选项,可以满足不同的报表需求。
其中,表格循环分页是ureport2中的一个重要功能,它可以将较大的数据集分成多个页面进行展示和处理。
在使用ureport2插件进行表格循环分页时,首先需要准备好数据源。
可以将数据保存在数据库中,也可以将数据保存在Excel文件中。
然后,在ureport2的报表设计器中,选择需要进行表格循环分页的表格,并配置相应的参数。
在配置参数时,可以指定每页显示的记录数、分页字段等。
配置完成后,可以生成报表,并在浏览器中预览生成的报表。
表格循环分页功能可以帮助处理大量数据时的分页显示问题。
在实际应用中,有时候需要处理大量的数据,但是一次性将所有数据展示在一个页面上会导致页面加载过慢或者数据过于冗杂。
使用表格循环分页功能,可以将数据分成多个页面进行展示,提高页面加载速度和用户体验。
除了分页显示数据,表格循环分页功能还可以用于处理分页计算、分页过滤等操作。
通过将数据集分成多个页面进行处理,可以提高处理效率和计算速度。
总之,ureport2插件的表格循环分页功能是一种非常实用的数据处理工具。
它可以将较大的数据集分成多个页面进行展示和处理,提高页面加载速度和用户体验。
在进行数据处理和分析时,可以根据具体需求配置相应的参数,实现不同的处理逻辑。
通过合理利用表格循环分页功能,可以更加高效地处理大量的数据,提高数据处理效率。
解析iReport自定义行数分页的操作方法
解析iReport⾃定义⾏数分页的操作⽅法iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。
iReport是⼀个能够创建复杂报表的开源项⽬。
它100%使⽤Java语⾔编写。
是⽬前全球最为流⾏的开源报表设计器。
ireport默认都是⾃动分页数据超出页⾯长度就会⾃动分到下⼀页,但有时候业务需要⼀页只显⽰固定⼏⾏这时候就需要⾃定义条数了。
下⾯看具体操作1:先在Variables中添加⼀个变量2:编辑属性,变量的表达式是“new Integer("1")”,计算类型为“count”其他默认3:添加⼀个“Break”(页分隔符)。
4:分页符修改它的属性“print when expression”,表达式为“new Boolean($V{index}.intValue()%5==0)”。
ireport默认都是⾃动分页数据超出页⾯长度就会⾃动分到下⼀页,但有时候业务需要⼀页只显⽰固定⼏⾏这时候就需要⾃定义条数了。
下⾯看具体操作1:先在Variables中添加⼀个变量2:编辑属性,变量的表达式是“new Integer("1")”,计算类型为“count”其他默认3:添加⼀个“Break”(页分隔符)。
4:分页符修改它的属性“print when expression”,表达式为“new Boolean($V{index}.intValue()==0)”。
到此这篇关于解析iReport⾃定义⾏数分页的问题的⽂章就介绍到这了,更多相关ireport⾃定义⾏数分页内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
erupt 分页参数
erupt 分页参数摘要:1.概述2.分页参数的概念3.分页参数的作用4.分页参数的使用方法5.分页参数的示例6.总结正文:1.概述在编程领域,分页参数是一种常见的技术,用于处理大量数据。
通过将数据分为多个页面,可以提高程序的执行效率,减少内存的使用,以及提升用户体验。
本文将介绍分页参数的概念、作用、使用方法和示例。
2.分页参数的概念分页参数,顾名思义,是指在处理数据时,将数据分为多个页面,每个页面包含一定数量的数据。
在编程中,分页参数通常是一个整数,表示要获取的页面编号。
例如,假设某个程序需要处理1000 条数据,如果采用分页参数,可以将数据分为10 页,每页100 条数据,分页参数可以设置为1 至10,表示要获取第几页的数据。
3.分页参数的作用分页参数在编程中有以下几个主要作用:(1) 提高程序执行效率:对于大量数据,如果不进行分页处理,程序需要一次性加载所有数据,会占用大量内存,影响程序的执行速度。
通过分页参数,程序可以每次只处理一部分数据,降低内存使用,提高执行效率。
(2) 减少内存使用:分页参数可以控制每次处理数据的数量,降低内存使用,避免程序因为内存不足而崩溃。
(3) 提升用户体验:对于用户而言,如果程序需要处理大量数据,一次性展示给用户可能会造成不便。
通过分页参数,程序可以分页展示数据,提高用户体验。
4.分页参数的使用方法在使用分页参数时,需要根据实际情况确定每个页面的数据量以及总页数。
一般来说,分页参数可以通过以下方法使用:(1) 设置每个页面的数据量:根据程序的实际情况,设置每个页面的数据量。
例如,如果程序需要处理1000 条数据,可以将数据分为10 页,每页100 条数据。
(2) 设置总页数:根据数据量和每个页面的数据量,计算总页数。
例如,如果每个页面包含100 条数据,而总共有1000 条数据,那么总页数为10。
(3) 获取当前页的数据:在程序中,通过分页参数获取当前页的数据。
iReport报表开发中常见的问题
注明:$V{PAGE_NUMBER} 表示当前是第几页,在text field 的选项evaluation time 选report是共几页,now表是当前页。
页码可在ireport里直接设置。
“共几页第几页”iReport报表开发中遇到的问题:1。
报表中工具栏中T :不会变得文字F :程序传过来的文字字段2。
在网页上预览报表什么内容也不显示解决方法:编辑-〉报表属性-〉More...->在“如果没有数据时:后面的下拉菜单中选Allsections,no detail”如果没有数据时:后面的下拉菜单中的几个选项的意思分别是:No pages [当Detail中没有数据时没有页显示]Blank page [当Detail中没有数据时出现一个空白页面]All sections,no detail [当Detail中没有数据时会显示detail以外的东西]No-date section [] 暂时我也不知道,呵呵。
3。
Detail 和columnFooter 只间总是有一段空白解决方法:从iReprot 工具列设定[预览] -> [报表属性]打开[More...] -> [Floating column footer] 打勾columnFooter 就會和Detail 在一起了。
4。
报表中Detail循环部分内容的显示格式报表中Detail循环部分内容的显示格式与报表属性-〉Page Margin -> 下边界的大小有关比如detail中有两列,当数据将第一列填充满时[根据detail页面大小]会将数据自动填充到第二列[detail页面大小能决定什么时候第一列能被数据填充满]多条数据在Detail中填充的时候是按照页面给显示数据所留大小填充的控制显示多少行数据的时候严格按照页面能显示多少条数据来作出判断按照条件显示的控件在不显示的时候仍然占据页面位置。
5。
文字框中Common 选项卡:Print when expression 属性里是Boolean类型代表此字段的显示与否内容一般是:new Boolean(结果是boolbean类型的表达式)6。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ireport 分页介绍功能介绍基于ireport 3.7.6版本介绍ireport如何进行分页开发步骤1. 在ireport 报表中添加分页需要的变量2. 设定首页,上一页,下一页,末页的超链接3. 用jasper调用设定好的报表文件开发示例分页信息当前显示1- 10条共32条第1页共4页首页上一页下一页末页1、设置当前分页的显示信息1.1. 设置当前显示1- 10条步骤1.1.1 拉一个text Field 右击点击edit expression1.1.2 在Expression editor 框入输入1.1.3 "当前显示"+($V{REPORT_COUNT}-$V{PAGE_COUNT}+1)+"- "+$V{REPORT_COUNT}+"条"($V{REPORT_COUNT}-$V{PAGE_COUNT}+1) 是指当前正在处理的第几条记录数减去当前页显示的条数+1 就是当前页的起始记录数注意点: text Field 的属性Evaluation Time 这里需要指定Column1.1.4 点击Apply步骤1.1.3用的的变量是ireport的内置变量$V{PAGE_NUMBER} : 代表当前页数(可以是当前页码也可以是总页数,通过TextField的属性Evaluation Time决定的Now (得到的是当前页码)Report (得到的是总页数)$V{PAGE_COUNT} 当前页面中记录的数目$V{REPORT_COUNT} 指示当前正在处理的是第几条记录1.2设置共32条步骤1.2.1 拉一个text Field 右击点击edit expression1.2.2 在Expression editor 框入输入"共"+$V{REPORT_COUNT}+"条"注意:这里需要的是得到总条数所以text Field 的属性Evaluation Time 这里需要指定Report 1.2.3.点击Apply1.3. 设置第1页步骤1.3.1 拉一个text Field 右击点击edit expression1.3.2在Expression editor 框入输入"第"+$V{PAGE_NUMBER}+"页"注意:所以text Field 的属性Evaluation Time 这里需要指定Now1.3.3点击Apply1.4. 设置共3页步骤1.4.1 拉一个 text Field 右击点击 edit expression1.4.2 在Expression editor 框入输入 "共"+$V{PAGE_NUMBER}+"页"注意:所以text Field 的属性Evaluation Time 这里需要指定Report1.4.4.点击Apply以上的变量仅供参与如有更好更简单的表达式可以补充。
2 设置分页信息转页(首页上一页下一页末页)步骤2.1 设置首页2.1.1拉一个text Field 右击点击edit expression2.1.2在Expression editor 框入输入“首页”2.1.3 右击text Field 点击Hyperlink 将Hyperlink target 改为Self,Hyperlink Type 改为Reference2.1.4 在Hyperlink Reference Expression框中输入"testpage.jsp?page=0"2.1.5 点击close其它设置的步骤一样只是在1.4步骤的输入的内容不一样以下是各项的内容上一页“testpage.jsp?page="+($V{PAGE_NUMBER}-1)下一页“testpage.jsp?page="+($V{PAGE_NUMBER}+1)末页"testpage.jsp?page=lastPage"上一页下一页不难理解就是当前页-1+1 这么简单末页因为变量中无法得到最后页的页码(本人是无法得到)所以本人就想到以字符串lastPage 来标识是最后一页在调用jasper代码中去做处理(如果你有更好的方式请补充)实例代码:工程中代码path:/drivingMonitor/web/view/situation/llsdi.jsp下面的代码是jsp 中的java代码以上加红部分为处理分页的代码<%@page language="java"import="java.util.*" pageEncoding="utf-8"%><%@page import="java.util.*"%><%@page import="java.io.*"%><%@page import="org.springframework.jdbc.datasource.*"%><%@page import="net.sf.jasperreports.engine.*"%><%@page import="java.sql.*"%><%@page import="javax.sql.*"%><%@page import="net.sf.jasperreports.engine.export.*"%><%@page import="net.sf.jasperreports.engine.util.JRLoader"%><%@page import="org.springframework.web.context.*"%><%@pageimport="org.springframework.web.context.support.WebApplication ContextUtils"%><%@page import="org.codehaus.xfire.spring.SpringUtils"%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>学习ireport 测试用</title><%// 取到编译后的jasper文件File reportFile=new File(application.getRealPath("jasper/test.jasper"));// 向报表中定义的参数赋值Map parameters = new HashMap();Integer i = new Integer(8);parameters.put("pjId", i);JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());int pageIndex = 0;int lastPageIndex = 0;JasperPrint jasperPrint = null;//因为是分页所以信息不能实时要改在缓存中,我这里把他放在session//一进来先从session 中去取jasperPrint=(JasperPrint)session.getAttribute("jasperPrint"); //如果jasperPrint 为null 说明session 不存在则获得jasperPrint 并保存到//session中if (jasperPrint == null) {TestDataSource dataSoruce = new TestDataSource();jasperPrint =JasperFillManager.fillReport(jasperReport,parameters, dataSoruce);session.setAttribute("jasperPrint", jasperPrint);}JRHtmlExporter exporter = new JRHtmlExporter();if (jasperPrint.getPages() != null) {lastPageIndex = jasperPrint.getPages().size() - 1;}String pageStr = request.getParameter("page");try {pageIndex = Integer.parseInt(pageStr);//从ireport 传来的PageIndex是从1开始,而JRExporterParameter.PAGE_INDEX是从0开始的if (pageIndex > 0) {pageIndex = pageIndex - 1;}} catch (Exception e) {//如果得到的是字符串,转换失败进入到这里// 如果字符串==lastPage 则反lastPageIndex的值赋给pageIndexif ("lastPage".equals(pageStr)) {pageIndex = lastPageIndex;}}if (pageIndex < 0) {pageIndex = 0;}if (pageIndex > lastPageIndex) {pageIndex = lastPageIndex;}exporter.setParameter(JRExporterParameter.PAGE_INDEX, pageIndex);exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE);exporter.exportReport();%></head><body></body></html>。