在 java 中生成 jasper 报告时我遇到了一些问题。该设置在 iReport IDE 中完美运行。我创建报告的方式如下:
private void createReport(String dataSourceXml) throws JRException{
String outFilename = dataSourceXml.replace(".xml", ".pdf");
String main = res.getString("main_jrxml.dir");
String sub1 = res.getString("sub1_jrxml.dir");
String sub2 = res.getString("sub2_jrxml.dir");
String sub3 = res.getString("sub3_jrxml.dir");
JasperReport sub3Report = JasperCompileManager.compileReport(sub3);
JasperReport sub2Report = JasperCompileManager.compileReport(sub2);
JasperReport sub1Report = JasperCompileManager.compileReport(sub1);
JasperReport mainReport = JasperCompileManager.compileReport(main);
JRXmlDataSource xmlDatasource = new JRXmlDataSource(new File(dataSourceXml));
Map<String, Object> params = new HashMap<String, Object>();
params.put("sub1", sub1);
params.put("sub2", sub2);
params.put("sub3", sub3);
JasperPrint jasperPrint = JasperFillManager.fillReport(mainReport, params, xmlDatasource);
JasperExportManager.exportReportToPdfFile(jasperPrint, outFilename);
}
报告已创建,所有子报告都已填写,但主报告未填写。
任何人都可以建议可能是什么问题?