如何将 jasperReport 导出到 pptx???
我尝试了这个但不起作用...
servlet 返回一个 pptx 文件,但该文件无法打开
JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros, new JREmptyDataSource());
String fileName = "informeDemo.pptx";
JRPptxExporter exporter = new JRPptxExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName);
exporter.exportReport();
File f = new File(fileName);
response.setContentType("application/vnd.openxmlformats-officedocument.presentationml.presentation"); //Tipo de fichero.
response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\""); //Configurar cabecera http
InputStream in = new FileInputStream(f);
out = response.getOutputStream();
int bit = 256;
while ((bit) >= 0) {
bit = in.read();
out.write(bit);
}
out.flush();
out.close();
in.close();
最佳答案
这里按照以下方式进行:
JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros, new JREmptyDataSource());
String fileName = "informeDemo.pptx";
JRPptxExporter exporter = new JRPptxExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileName);
ByteOutputStream bos=new ByteOutputStream(); // note bos will contain jasperPrint as byte data
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,bos);
exporter.exportReport();
response.setContentType("application/vnd.openxmlformats-officedocument.presentationml.presentation"); //Tipo de fichero.
response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\""); //Configurar cabecera http
response.setCharacterEncoding("UTF-8");
response.getOutputStream().write(bos.getBytes()); //note bos is written to response's output stream.
bos.flush();
bos.close();
response.flushBuffer();
希望这对您有帮助。
关于java - 从 servlet 将 Jasperreports 导出到 pptx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25626750/