¿Cómo mostrar Excel usando jsp evitando "No se suministró ninguna fuente de entrada al exportador"?
He escrito un código para mostrar Excel en un sitio web.
Pero estoy recibiendo esta excepción
net.sf.jasperreports.engine.JRRuntimeException: no se proporcionó ninguna fuente de entrada al exportador.
Mi códigoimportar en jsp
<%@ page import="java.io.*"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.util.HashMap"%>
<%@ page import="java.util.Map"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.io.ByteArrayOutputStream"%>
<%@ page import="net.sf.jasperreports.view.JasperViewer"%>
<%@ page import="net.sf.jasperreports.engine.export.*"%>
código jsp para exportar a excel
<%
Connection conn = null;
String no1 = request.getParameter("no1");
String no2 = request.getParameter("no2");
System.out.println("get value " + no1 + " " +no2);
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ams2"
,"root","passwd1234");
File reportFile = new File (application.getRealPath("//jasper//report//Blank_A4_2.jasper"));
Map parameters = new HashMap();
parameters.put("no1",no1);
parameters.put("no2",no2);
System.out.println("123 "+parameters);
ByteArrayOutputStream xlsReport = new ByteArrayOutputStream();
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, xlsReport);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE, "C:\\");
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "sample.xls");
exporter.exportReport();
byte bytes[] = new byte[10];
bytes = xlsReport.toByteArray();
response.setContentType("application/vnd.ms-excel");
response.setContentLength(bytes.length);
xlsReport.close();
ServletOutputStream outStream = response.getOutputStream();
outStream.write(bytes,0,bytes.length);
outStream.flush();
outStream.close();
} catch (Exception ex) {
out.println("Error " + ex);
}
%>
¿Cómo se puede arreglar esto?