jasperreports-applet-3.7.6.jar
jasperreports-fonts-3.7.6.jar
jasperreports-javaflow-3.7.6.jar
jaxen-1.1.1.jar
jdt-compiler-3.1.1.jar
iText-5.0.5.jar , iTextAsian.jar (这两个jar包在iReport中也要引用,否则不显示中文)
jcommon-1.0.15.jar
png-encoder-1.5.jar
groovy-all-1.7.5.jar
2.下面就可以在iReport中设计报表了,打开iReport,打开工具中的选项。
3.找到里面的ClassPath,添加对应的jar包和classes文件,Add Folder添加项目的class文件,在tomcat下的WEB-INF里面的classes,添加jar包上文提到的两个jar包。
4.新建一个报表,选择A4(根据实际情况),填写文件名字和路径,就不叙述了。
5.报表里面的各个部分的用途在上网已经有很详细的叙述,我就不再叙述了,根据实际情况在相应的位置放置自己需要的东西。需要注意的是在Detail里面放置的东西,会把传过来的list进行遍历输出。
6.右键Styles新建一个样式,这里需要说明一下,iReport对中文的支持问题,不知道现在的版本是否修改了这个bug,我们这里姑且给修改了,font给改成“宋体”,Pdf Font name:“STSong-Light”,Pdf Encoding:“UniGB-UCS2-H (Chinese Simplified)”。
7.接下来是关键的怎么取后台的list对象了,右键你新建的报表,选择Edit Query,选择JavaBean,这里就是我们要添加JavaBean的地方,下面的输入框里面输入上准备提取的JavaBean对象位置,如com.XXXX.XXX.XX.testBean。点击Read attributes,可以在下面显示出所有的属性。选中需要的属性值,点击Add select filed,可以把需要属性添加上。
8.后台的写法,首先需要的是在struts里面配置一下,需要配置的是继承的类和返回类型及返回里面的属性。
9.在java代码中就没什么可以解释了,处理list和map就可以了。这里需要说明一点的是在处理子报表的时候,创建DTO时候写几个list和subReport,注意的list的set方法需要修改。
10.在回到前台报表,如果要用子报表,需要添加一个Subreport,然后对这个报表的属性进行设置,至于报表里面的样式,就和主报表一样了。
11.注意:初次使用可能会出现的问题:
(1)文字不显示,静态的文字也不显示,这时候可能是由于你没有使用Detail层或者Detail层没有数据,处理方法很简单,在report的属性里面有设置,没有data的时候处理方式,根据实际情况进行选择。
(2)title占页和报表最后留空页问题,在上述的属性里面设置可能会影响,另外,在属性里面有专门的设置,初学者可能也会误选造成这种问题。