报表的制作

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一:使用ireport制作报表的原则:1.所有的中文字全部用宋体;2.与数字有关的字段要右对齐(包括columnHeader中的textField中的文字及detail中的Filed中的内容),与文字有关的则要左对齐(也包括以上两部分);3.各组件之间不能有空格。4.当生成PDF格式时,可能会出现中文内容无法显示,主要是设置Font的时候要注意以下几点:(1)设置字体的FontName需要是能显示中文的,比如:宋体;(2)设置PDFFontName为STSong-Light;(3)设置PDFEncoding为uniGB-UCS2-H(chineseSimplified);(4)是否lib中包含iTextAsian.jar文件。二:ireport中的各段的用途:title段只在整个报表的第一页的最上面部分显示,除了第一页以外,不管报表中共有多少个页面也不会再出现title段中的内容。pageHeader段中的内容将会在整个报表中的每个页面中出现,显示的位置在页面的上部,如果是报表的第一页,pageHeader中的内容将显示在title段下面,除了第一页以外的其他所有页面中pageHeader中的内容将在显示页面的最上端。columnHeader段针对detail段的表头段,一般情况下在这个段中的内容每页均会出现一次。detali段是报表内容段,在这个段中设计报表中需要重复出现的内容,detail段中的内容每页都会出现。columnFooter段针对detail段的表字段,每页均会出现一次。pageFooter段显示在所有页面的最下端,每页都会显示,最后一页由lastPageFooter替代。summary是表的合计段,出现在整个报表的最后一页中的detail段的后面,一般用来统计报表中某一个或某几个字段的合计值。三:irport中各组件的用法:Line(线段),Rectangle(矩形),Ellipse(椭圆形),statictext(不会变动的文字),textField(动态文本),image(图片),subreport(子报表)statictext用于显示不会改变的文字,就是固定了的文字,如title中的文本,pageHeader中的文本等。textField用于显示没有固定的文字,就是没有确定的,会动态改变的。如果要使用这些组件,学过vb的人就知道,只要从工具箱中把要使用的组件拖到面板上就行了,ireport也是一样,只有在组件面板中先选中要使用的组件,然后拖到编辑窗口就行了。四:ireport中其他功能的实现:如果要实现自动增长的功能,要先拖一个textField到detail段,然后右键——》Editexpression——》单击valiables——》双击REPORT_COUNT.如果要显示当前第几页,共多少页,方法同上,只是双击的valiables中的字段不同,当前第几页对应于PAGE_NUMBER,共多少页也对应于PAGE_NUMBER,只是TextField设置的.EvaluationTime的属性值不同,第几页时值为now,总页时为report。如果要对某个字段求和,如(amount),先在ReportInspector窗口中右击valiables——》增加valiable——》再重命名,再在右边的属性窗口中设置该变量的属性,主要设置的属性有:Expressionclass用于设置该变量的类型,calculaton中选择sum,valiableExpression中选择要统计的字段,inifialvalueExpression用于设置初始值。如果要对某个字段分组求和(如小计),先在ReportInspector窗口中右击文件名——》AddReportGroup——》命名及选择要以哪个字段分组。然后也新建一个valiable,设置的属性与对某个字段求和,要增加的属性有:Resettype选择group,Resetgroup选择刚才新建的group。总结:1、了解制作报表用的包下载后到到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的官方网站:文件显示中文等亚洲字符,还必须下载itext的亚洲字符包。tTextAsian的官方下载地址:(3)jfreechart-1.0.0-rc1.jarjfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG等各式的文件。这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。jfreechart的官方下载地址:(4)jcommon-1.0.0-rc1.jarJCommon是一组有用的classes集合.它已经用在JFreeChart,JFreeReport与其它项目上.这个类库包含了以下功能:文本工具类(textutilities),用来显示关于应用程序信息的用户界面类,布局定制管理器,一个日期选择面板,序列化工具类,XML解析器支持类.jcommon的官方下载地址:(5)poi-2.0-final-20040126.jarApache的Jakata项目的POI子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理MSExcel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。直接调用poi包的不是ireport,而是jasperreport。poi的官方下载地址:这些是用来制作报表用的包,所以可以用最新的版本来代替原有包。但是务必保持与项目中的包一致,因为很多开源的项目都不向下兼容。(例如jasperreport)2、制作jrxml、jasper2.1选择语言Tools-Option-General-Language2.2连接数据库资料来源-连结/资料来源如果要使用mysql以外的数据库,要保证jdbc包在环境变量里。放到iReport-0.5.1/lib下也可以。name相当于一个JNDI。添好后点击test按钮如果显示成功就可以执行下一步了。2.3新建一个Report定位可以控制报表是横向的还是纵向的。Portrait是纵向,Landscape是横向。边距是可以调整的。2.4基本域title域用来放报表的总标题pageHeaher域顾名思义页头columnHeader域是用来放statictext的,也就是不循环的部分。detail域是用来放textfield的,也就是循环部分。pageFooter域是用来放本页的统计参数的。summary域是用来放整个表的统计参数的。可以直接调整每个域的长度,也可以通过Bandproperties来调整。当然总长度是不会超过页面的原长。2.5报表查询2.5.1为报表添加SQL查询语句资料来源-报表查询在ReportSQLquery里填写SQl语句。如果语句正确,在下面的field里就会显示正常的表字段。2.5.2为报表添加动态字段预览-报表字段把fields里的字段直接拖到报表上就行了。2.5.3为SQL语句添加参数预览-报表参数在parameters里新增一个参数paratemetername是参数名,在SQL语句里写成$P{参数名}paratemeterclasstype里选择参数类型。注意:如果是int型的数据,最好在报表字段里将该字段的Classtype改成java.lang.String型的。另外一种办法,不管该字段原来是什么数据类型,直接在paratemeterclasstype里选择java.lang.String类型,然后在Defaultvalueexpression填写Integer.toString(整数)。2.5.4添加报表变量预览-报表变量$V{变量名}2.5.5处理字体2.5.5.1基本设置选中字段-右键-properties-font(双击也可以)Reportfont选择全局的字体(仅限于该报表)Fontname选择在ireport里面显示的字体Pdffontname选择在pdf里面显示的字体Rotation选择内容是否旋转(很有用的选项)PDFEncoding中文要用UniGB-UCS2-H,外部字体要选Identity-H2.5.5.2选择外部字体第一步先在Pdffontname里选择ExternalTTFfont,然后在下面的TureTypefont里选择外部字体,当然要用的外部字体放在iReport-0.5.1/fonts目录下面。第二步在web项目的WEB-INF/classes/下面放要用到的外部字体,才能在程序里正常显示。2.5.5.3设定该报表的全局字体预览-报表字型2.6编译jrxml建立-编译编译后生成一个后缀名为jasper的binary文件,可以直接给程序调用。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功