Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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 excel无法导出_Java_Jasper Reports_Export To Excel - Fatal编程技术网

Java Jasperreports excel无法导出

Java Jasperreports excel无法导出,java,jasper-reports,export-to-excel,Java,Jasper Reports,Export To Excel,我正在尝试将jasperreport导出为xls格式,但失败 以下是我的代码: <%@page import="net.sf.jasperreports.engine.export.JRXlsExporterParameter"%> <%@page import="net.sf.jasperreports.engine.export.JRXlsExporter"%> <%@page import="net.sf.jasperreports.engine.export

我正在尝试将jasperreport导出为xls格式,但失败

以下是我的代码:

<%@page import="net.sf.jasperreports.engine.export.JRXlsExporterParameter"%>
<%@page import="net.sf.jasperreports.engine.export.JRXlsExporter"%>
<%@page import="net.sf.jasperreports.engine.export.JRPdfExporter"%>
<%@page import="net.sf.jasperreports.engine.export.JRPdfExporterParameter"%>
<%@page import="net.sf.jasperreports.engine.JRExporter"%>
<%@page import="net.sf.jasperreports.engine.JRExporterParameter"%>
<%@page import="net.sf.jasperreports.engine.JasperFillManager"%>
<%@page import="net.sf.jasperreports.engine.JasperPrint"%>
 <%
    String RptName = (request.getParameter("RptName")) != null? request.getParameter("RptName"):"";    
    String iReportPath = utilHandler.GetResBundle("IREPORT_PATH");
    String jasperReportPath    = iReportPath + RptName + ".jasper"; 
    response.setContentType("application/"+strReportFormat);
    os = response.getOutputStream();

    if(strReportFormat.equals("pdf")) {
    exporter = new JRPdfExporter();    
    exporter.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8");    
    print = JasperFillManager.fillReport(jasperReportPath,map, connection);
    exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);     
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,os);    
    exporter.exportReport();    

    } else if(strReportFormat.equals("msexcel")) {
      strReportFileFormat = "xls";
      response.setHeader("Content-Disposition"," inline; filename="+RptName+"."+strReportFileFormat);      
      exporter = new JRXlsExporter();
      exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, print);
      exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, os);
      exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);
      exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);
      exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS,Boolean.TRUE);
      exporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN,Boolean.TRUE);
      exporter.setParameter(JRXlsExporterParameter.IGNORE_PAGE_MARGINS,Boolean.TRUE);
      exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);
      System.out.println("generate Excel");
        print = JasperFillManager.fillReport(jasperReportPath,map, connection);
        exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);     
        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,os);    
        exporter.exportReport();      
    }
 %>

我在chrome浏览器上发现失败-网络错误


我使用.jasper文件生成pdf和excel,xls失败
,但pdf工作正常,在chrome浏览器上显示良好。我检查了tomcat 8日志,在catalina.out和tomcat控制台(windows bat)上找不到任何错误日志。知道问题出在哪里吗?

响应内容配置错误,我改为:

response.setHeader("Content-Disposition", "attachment;filename=\"" + new String(RptName.getBytes("utf-8"),"ISO-8859-1") + ".pdf\"");
response.setHeader("Content-Disposition", "attachment;filename=\"" + new String(RptName.getBytes("utf-8"),"ISO-8859-1") + ".xls\"");
对于pdf和xls,现在工作正常