Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将Jasperreports从servlet导出到pptx_Java_Servlets_Jasper Reports - Fatal编程技术网

Java 将Jasperreports从servlet导出到pptx

Java 将Jasperreports从servlet导出到pptx,java,servlets,jasper-reports,Java,Servlets,Jasper Reports,如何将jasperReport导出到pptx 我试过了,但没用 servlet返回一个pptx文件,但该文件无法打开 JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros, new JREmptyDataSource()); String fileName = "informeDemo.pptx"; JRPptxExporter exporter = n

如何将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();
希望这对你有帮助