这一系列的文章大概这样安排:前面两篇先对
iReport和JasperReport进行简单的介绍,目的是把值得注意的地方提一下,免得后来者少走弯路。后面的几个文章将详细介绍一个使用Struts+Hibernate+Spring+iReport+JasperReport+Oracle联合报表(两个父子表联合)的设计过程,以及交叉表的设计过程。
下面先是iReport的简单介绍,希望很多地方能通过一两句话就减少你大半天的摸索。
第一节.准备工作
首先要做的事情,是到官方网站http://ireport.sourceforge.net下载最新版本的iReport,目前我用的是iReport-1.3.1-windows-installer.exe,好象现在已经出了1.3.2。下载后和普通的软件一样点下一步安装,这些就不用多说了。
安装完毕后第一次打开时可能菜单会出些乱码,在Options->选项->general->语言,选择最上面的中文(中国),如果还不行的话就重启一下iReport一般都没问题了。
第二节.创建报表
可以通过文件->报表精灵按照提示一步步来新建一个报表,速度相当快,但那样能选择的样式比较少,而且往往不能符合我们的需求,到时候改起来也很痛苦。所以我主要介绍的是从零开始自己来设计的过程。
首先开启新档,填上报表名称、选好尺寸,如果要横向报表的话在“定位”那里选择“Landscape”。如果怕出现中文乱码问题,在i18n->XML编码,填上GB2312。其它的根据需要改改,然后OK。
新建的空白报表分为八个部分,具体每个部分的作用我就不多说了,网上的文章大把,找来看看,大概了解一下就可以。
第三节.连接数据源
以Oracle数据库为例。(因为在iReport里不管用什么作为连接,如jdbc,JavaBeans还是Hibernate等,生成的报表文件都是一样的,应用到项目中只要字段名对上号,用什么方法填充都可以。所以为了简单起见,建议这里用jdbc就行。笔者开始时为了Spring Loading Hibernate Connection作为连接花费了不少时间才成功,白费劲)
1. 添加Classpath。在Options->Classpath,,然后Add JAR,把ojdbc14.jar添加进来。
2. 连接/资料来源。在Data->连接/资料来源,然后new。随便填上Name,在Type of Connection选择DataBase JDBC connection,其它的填写如图3.1所示。记得有空把Sava Password的勾给打上。最后点击Test出现成功提示就可以Save了。
(图3.1)
3. 设定动态连接。在Data->设定动态连接,选择刚才填写的Name,点OK即可。
4. 报表查询。在Data->报表查询,填上查询的SQL语句,如图3.2,下面能出现字段名和字段类型就没问题。
(图3.2)
第四节.设计报表
1. 画线。如果需要画线,就选中该字段,右击->属性->Border,建议每个字段的左边和下边画上线,最后一字段就左边、下边和右边都画上线,这样就不会看上去两根线重复。
2. 自动变量。如果需要增加一个自动增加的序号,可在预览->报表变量,随便起个名字,变量类型选择java.lang.Integer,Caculation type选择Count,Reset type选择Report,其余的默认,完了以后把该变量拖拉到你喜欢的位置设计下就OK了。(如图4.1)
(图4.1)
3. 自动换行。如果不处理一下,有些字段的内容太长了就会显示不全。选中该字段,右击->属性,在Text Field把Stretch with overflow勾上。同时把该行所有的字段选上,右击->属性,在Common的Stretch Type选择Relative to tallest object。(如图4.2)
(图4.2)
4. 待补充。
还有很多细节,其实多用用就会熟悉了。
第五节.预览
点击建立,选择JRViewer预览,然后使用动态连接执行报表就可以了。