使用DynamicReports API将图像渲染到XLS报告

时间:2014-06-25 08:33:12

标签: java jasper-reports dynamic-reports

我想从文件夹渲染图像并在Excel报告中显示。

以下代码用于渲染。

String headerImagePath = "/file/fileName.jpg"
BufferedImage img = null;

try {
    img = ImageIO.read(new File(headerImagePath)); 

}  catch (IOException e)  {
    e.printStackTrace();
}
JasperReportBuilder report = report();
report.title(cmp.image(img));

但是excel表格中没有显示图像。

渲染图像的其他选项?

2 个答案:

答案 0 :(得分:0)

您确定图像路径是否正确?

您可以通过以下方式轻松检查:

System.out.println(new File(headerImagePath).exists());

如果此代码输出false,则需要更正路径。

答案 1 :(得分:0)

终于明白了。!

您需要将图像文件名作为参数传递。

     parameters.put("header", headerImagePath);

添加以上参数&它是贾斯珀报告的Class

     report.addParameter("header", String.class);

您可以将图像添加到报告中,如下所示

     report.title(cmp.image(exp.jasperSyntax("($P{header})",String.class)).setDimension(50, 130));