润乾报表使用——在代码生成报表中,从代码中制定模板中参数的数值
我们在制作报表模板的时候,往往需要在模板中设置一些参数,这些参数用来对报表生成起到一定的筛选或者满足某种要求。
那我们在用代码读取这些模板并生成报表的过程中,如何在代码中传入这些参数的数值呢?
可以参考如下代码:
public class ReportServiceImpl implements ReportService {
public InputStream genearteReport(Connection conn, ReportParameter param) {
String file = Thread.currentThread().getContextClassLoader().getResource("capital_cost_detail_organ.raq").getFile();
String file3 = Thread.currentThread().getContextClassLoader().getResource("test11.raq").getFile();
String file1 = Thread.currentThread().getContextClassLoader().getResource("year_organ_capital_cost_detail_.raq").getFile();
String file2 = Thread.currentThread().getContextClassLoader().getResource("year_it_budget_every_organ.raq").getFile();
File[] files = new File[4];
files[0] = new File(file);
files[1] = new File(file1);
files[2] = new File(file2);
files[3] = new File(file3);
HashMap params = new HashMap();
params.put("deptno", "70");
params.put("year", "2010");
params.put("organ", "8");
byte[] rpt = null;
try {
RunqianReport rptEngine = new RunqianReport();
rpt = rptEngine.generateReport(files, params,RunqianReport.EXPORT_FORMAT_XLS, conn);
} catch (Throwable e) {
e.printStackTrace();
}
ByteArrayInputStream result = new ByteArrayInputStream(rpt);
return result;
}
}
灰显部分就是传入参数的过程,另外,各个参数的先后顺序不重要,只要“key”值正确就可以了。