1,需要安装jdk1.7,因为目前还不支持最新的jdk1.8
2,安装好软件之后,打开安装目录下的etc/ireport.conf文件,配置关联自己的jdk1.7的路径,如下:
#jdkhome="/path/to/jdk"
jdkhome="C:/Java/jdk1.7.0_17"
配置好jdk1.7的目录后,就可以使用iReport了。
如果只是为了支持ireport的jdk,不需要对它设置jdk1.7环境变量,也不需要安装jre1.7。
3,项目需要的jar包目录,比如:
C:iReportV560ireportmodulesext
一般来讲,需要引入如下jar包:
com-jaspersoft-ireport.jar
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
groovy-all-2.0.1.jar
iText-2.1.7.js2.jar
iTextAsian.jar
jasperreports-5.6.0.jar
jdt-compiler-3.1.1.jar
poi-3.7-20101029.jar
4,报表编辑的时候,文件格式是.jrxml的,需要把这个格式编辑成.jasper给Java程序用。
可以写个类来转换,也可以直接点击报表编辑器工具栏的锤子形状的按钮,会直接帮你编辑为一个.jasper文件,直接点锤子生成更方便,推荐。
5,注意!!!
JavaBean实体类的private字段时,首字母要小写!!!(其实就是要遵守驼峰命名规则)
报表编辑器里新建的field字段是有类型的!默认是String,请根据字段源进行相关设置!
6,引用Demo
InputStream is = new FileInputStream("./iReportTemplate/jasper/reportDingHuo.jasper");
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(is);
Map<String, Object> parameters = new HashMap<String, Object>();
//parameters.put("SUBREPORT_DIR", "./iReportTemplate/jasper/");//这句好像有没有都可以呢,有教材说是做主子表会用到!
parameters.put("danWei", "山东淄博");//danwei是报表的parameter字段,“山东淄博”是显示的值
List<JavaBeanModel> list = new ArrayList<JavaBeanModel>();
for ( int i=0; i < 9; i++)
{
JavaBeanModel bean = new DingHuoModel();
bean.setId(i);
bean.setName("张" + i);
bean.setEmail("zhang" + i + "@gmail.com");
list.add(bean);
}
//看关键字Bean,其实支持多种数据源
JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters, new JRBeanCollectionDataSource(list));
JasperViewer.viewReport(print, false);