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:\iReportV560\ireport\modules\ext
一般來講,需要引入如下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);