首页 > 代码库 > iReport工具的使用

iReport工具的使用

iReport工具的使用

一、环境介绍:

iReport使用的是3.7.6版的

Window7 旗舰版系统

JDK1.7

使用javabean作为数据源

二、iReport工具的使用

技术分享

1、将WEB-INF/classes(本地tomcat的编译路径)目录添加到工具-选项-classPath

技术分享

2、配置参数Parameters作为数据源使用,参数类指定到相应的bean

 

3、刚刚开始的时候可能找不到相应的类,重启一下软件或者系统就可以了.

技术分享

2、这个是刚刚创建的模板,本地文件是.jrxml文件,编译后是.jasper文件(二进制文件)

我主要用的就是detail band条和title band

3、然后就可以使用窗口-组件面板了

技术分享

三、问题

1、遇到的第一个问题是子字表的问题

刚开始对子报表一直不理解,后来在项目组大神的教导下慢慢的理解,现在说说创建子报表的流程

1).先创建一个.jrxml文件作为字报表

2).组件面板中有一个Subreport工具,拖出来,会出现下图,选择已存在的reort文件,浏览找到刚刚创建的.jrxml文件

技术分享

技术分享

使用一个空数据源,然后下一步,下一步,即可

技术分享

在子报表的属行中找到上图,进行数据源配置

new net.sf.jasperreports.engine.data.JRBeanArrayDataSource(从刚刚配置的paramter中取相应的类)

4)在子报表中找到

技术分享

技术分享

从刚刚写的数据源类中读取相应的属性,添加后自动显示在Fields列表中

技术分享

4).使用哪个属性,从列表中拖出来就可以了!

2、主报表中,和子报表在同一行的竖线可以和子报表同是变长

技术分享

属性中有这个,可以让竖线和band条的高度关联起来,如果字报表下面还有内容,并且还在同一个band中,可能会被覆盖,所以建议新建一个detail,或者写在下一个band里。

四、Demo

File pdfFile=test.createPdf("D:\\iReport\\test.pdf");

JasperReport report=(JasperReport)JRLoader.loadObject("D:\\iReport\\ZMPersonalAccidentHarmInsurance.jasper");//模板加载

String absolutePath_par = TemplateStorage.TemplateParentPath;//项目的默认路径

@SuppressWarnings("rawtypes")

Map parmer=new HashMap();

parmer.put("dataset", dataset);//datasetjavabean

parmer.put("SUBREPORT_DIR",absolutePath_par);

OutputStream out=new FileOutputStream(pdfFile);

JasperPrint print=JasperFillManager.fillReport(report, parmer,new JREmptyDataSource());

//pdf文件输出

JRPdfExporter exporter=new JRPdfExporter();

exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);

exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);

exporter.exportReport();

 

 

 

 

iReport工具的使用