簡體   English   中英

來自Jasper的excel報告

[英]report in excel from Jasper

在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;
}

查看錯誤消息:-

]] Root cause of ServletException.
javax.faces.FacesException: Error calling action method of component with id headerForm:Report123456
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
    at javax.faces.component.UICommand.broadcast(UICommand.java:109)
    at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
    at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
    Truncated. see log file for complete stacktrace
Caused By: javax.faces.el.EvaluationException: Exception while invoking expression #{ReportsBB.extractJasper}
    at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:156)
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
    at javax.faces.component.UICommand.broadcast(UICommand.java:109)
    at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFWorkbook.getCreationHelper()Lorg/apache/poi/ss/usermodel/CreationHelper;
    at net.sf.jasperreports.engine.export.JRXlsExporter.openWorkbook(JRXlsExporter.java:282)
    at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReportToStream(JRXlsAbstractExporter.java:879)
    at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReport(JRXlsAbstractExporter.java:629)
    at com.ultimatix.dealpricing.dao.ReportsDAO.mainReportXLS(ReportsDAO.java:137)
    at com.ultimatix.dealpricing.backingbeans.ReportsBackingBean.extractJasper(ReportsBackingBean.java:293)
    Truncated. see log file for complete stacktrace
> 

誰能幫忙.. !!!

請嘗試以下代碼,它對我有用

   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”各種安全性選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM