Apache POI输出问题

时间:2011-05-06 12:55:52

标签: java excel http tomcat apache-poi

我遇到了Apache POI的问题。在处理完相关数据后,我尝试返回一个文件。当我将文件返回浏览器(IE8 / 9,firefox)时,浏览器返回一堆垃圾字符。这仅在Excel文件很大且进程已经运行了2分钟时才会发生。否则它返回一个文件然后我可以在Excel中打开。

感谢任何帮助,谢谢。

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();
}

1 个答案:

答案 0 :(得分:4)

我认为你也应该指定内容长度。这是您应该插入的行:

response.setContentLength(/* length of the byte[] */);

我建议您使用Apache Commons IOUtils类来处理字节数组和流。