本人研究iReport的图形化导出已经有一个多星期了,对于图形报表的导出也已经研究出来,这里写出我的开发过程:
首先你可以先写通过iReport设计出一个模板,当然这个报表可以使用自带图表或者你自己通过iReport设计个图片,然后通过变量传递到jfreechart写一个生成图状类中,并且将写好的生成类写到.jrxml模板文件中,这里就不介绍了。
这里我把具体生成方法写下来:
部分代码如下:
ds:数据源,parameters :参数设置, contextPath: servlet路径
try
{
jasperReport =(JasperReport)JRLoader.loadObjectFromLocation(jasperPath);
}
catch(Exception e)
{
log.info("获取jasper文件出错!"+e);
e.printStackTrace();
throw new Exception();
}
try
{
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, ds);
result_map.put("jasperPrint",jasperPrint);
/*生成PDF文件 */
if(pdf!=null)
{
File destFile = new File(pdf);
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE, destFile);
exporter.exportReport();
}
/*生成HTML文件 */
if(html!=null)
{
File destFile = new File(html);
Map imageMap = new HashMap();
JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporter