Tengo un problema con Apache POI. Intento devolver un archivo después de haber procesado los datos relevantes. Cuando voy a devolver el archivo al navegador (IE8/9, Firefox), el navegador devuelve una carga de caracteres basura. Esto solo ocurre cuando el archivo de Excel es grande y el proceso se ha estado ejecutando durante, por ejemplo, 2 minutos más. De lo contrario, devuelve un archivo que luego puedo abrir en Excel.Problema de salida de POI de Apache
Se agradece cualquier ayuda, gracias.
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + ".xls\"");
OutputStream out = null;
try {
out = new BufferedOutputStream(response.getOutputStream());
wb.write(out);
out.flush();
} catch (IOException ex) {
ex.printStackTrace();
}
Gracias por la respuesta, ¿cuál sería la mejor manera de encontrar la duración de la transmisión? – Clive
No puedo ver la clase de la variable 'wb'. ¿Es ese el libro de trabajo? En ese caso sugiero: ByteArrayOutputStream bos = new ByteArrayOutputStream(); wb.write (bos); response.setContentLength (bos.size()); response.getOutputSream(). Write (bos.toByteArray()); response.getOutputStream(). Flush(); response.getOutputStream(). Close(); – jabal