Olá,
Bom sou novo aqui e estou com uma dificuldade em exportar img para o excel via ireport,
para o PDF a imagem vai sem problemas o problema é no excel que só aparece a tabela a imagem nem ameaça aparecer… rsrs
Vou mostrar o trecho do código:
private void excel(JasperPrint relatorioFinal) {
//no relatorioFinal tenho: "JasperReport relatorioCompilado", "Map<String, Object> parametros" e "JRBeanCollectionDataSource ds" onde eu passo uma lista.
//Dentro de parametros eu coloco a imagem dinamica que é um gráfico em JFreeChart:
//JFreeChart chart = (JFreeChart) getSession().get("grafico");
//BufferedImage imagem = chart.createBufferedImage(900, 300);
//parametros.put("img", imagem);
//No ireprt criei um campo imagem (java.awt.image) e na expressão da imagem coloquei o parâmetro "$P{img}" (java.lang.object)
//que é um
JRXlsExporter exporter = new JRXlsExporter();
ByteArrayOutputStream xlsReport = new ByteArrayOutputStream();
try {
exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, relatorioFinal);
exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, xlsReport);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();
byte[] bytes = xlsReport.toByteArray();
getServletResponse().setContentType("application/vnd.ms-excel");
getServletResponse().setHeader("Content-disposition", "attachment;filename=Desempenho_Do_Sistema.xls");
getServletResponse().setContentLength(bytes.length);
xlsReport.close();
ServletOutputStream outputStream = getServletResponse().getOutputStream();
outputStream.write(bytes,0,bytes.length);
outputStream.flush();
outputStream.close();
} catch (Exception e) {
LOGGER.error("ERRO - Linha 142 - "+e.getMessage());
}
}
Se alguem pude me ajudar a colocar a imagem também no excel?
Desde já, grato.