Java Jasper的excel报告

Java Jasper的excel报告,java,jasper-reports,Java,Jasper Reports,在excel中生成报告时,将显示以下错误消息。请帮忙 代码:- public String mainReportXLS(){ Map<String, Object> jrxmlParams = null; try{ String jrxmlFileName = "C:/Jasper/Dashboard2.jrxml"; JasperReport objJReport = JasperCompileManager.compileR

在excel中生成报告时,将显示以下错误消息。请帮忙

代码:-

public String mainReportXLS(){

    Map<String, Object> jrxmlParams = null;

    try{

        String jrxmlFileName = "C:/Jasper/Dashboard2.jrxml";

        JasperReport objJReport = JasperCompileManager.compileReport(jrxmlFileName);
        connection = getConnection();

        JasperPrint print = JasperFillManager.fillReport(objJReport, jrxmlParams, connection);
        ByteArrayOutputStream outputByteArray = new ByteArrayOutputStream();
        //OutputStream outputfile= new FileOutputStream(new File("c:/output/JasperReport.xls"));

         JRXlsExporter exporterXLS = new JRXlsExporter();
         exporterXLS.setParameter(JRXlsExporterParameter.JASPER_PRINT, print);
         exporterXLS.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "C:/Jasper/Dashboard2.xls" );
         exporterXLS.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, outputByteArray);
         exporterXLS.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
         exporterXLS.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
         exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
         exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
         exporterXLS.exportReport();

         //outputfile.write(outputByteArray.toByteArray()); 


    }catch (Exception e) {
           System.out.print("Exceptiion" + e);
      }

    return null;
}

任何人都可以帮忙吗

请尝试以下代码,它对我有效

   File xlsx = new File("C:/Users/Sadagopan/Documents/sample.xlsX");
   JRXlsxExporter Xlsxexporter = new JRXlsxExporter();
   Xlsxexporter.setParameter(JRExporterParameter.JASPER_PRINT,
                             jasperPrint);
   Xlsxexporter.setParameter(JRExporterParameter.OUTPUT_FILE,
                             xlsx);
   Xlsxexporter.exportReport();

检查一下这个。。“工具”>“选项”>“导出选项”选项卡>“PDF”各种安全选项

再次感谢。。还有一个疑问,一旦报告以pdf格式生成,我需要禁用pdf工具栏。已尝试使用JRPDFExporter中的某些参数。。。但未能实施。我的项目要求包括禁用PDF中的保存和打印选项。你能建议一下吗。提前谢谢!!请对上述答案投赞成票。。您是否尝试过此选项:
jasperreports.export.pdf.encrypted
以确保pdf安全?请检查此选项。。“工具”>“选项”>“导出选项”选项卡>“PDF”各种安全选项。是的,已尝试并成功禁用保存。但它依赖于浏览器。在explorer中工作正常,有时在Mozilla中不工作
   File xlsx = new File("C:/Users/Sadagopan/Documents/sample.xlsX");
   JRXlsxExporter Xlsxexporter = new JRXlsxExporter();
   Xlsxexporter.setParameter(JRExporterParameter.JASPER_PRINT,
                             jasperPrint);
   Xlsxexporter.setParameter(JRExporterParameter.OUTPUT_FILE,
                             xlsx);
   Xlsxexporter.exportReport();