如何通过servlet打开Excel文件

时间:2011-07-27 09:20:12

标签: java jsp servlets

我使用jxls.jar库将数据导出为ex​​cel格式并以* .xls格式存储在文件中。 在使用servlet完成将文件写入文件后,如何打开或提升用于打开或保存此文件的对话框 写入文件的所有过程都是在单独的函数中完成的。

4 个答案:

答案 0 :(得分:2)

我知道您将Excel文件作为File对象,并且您希望将其作为下载提供给客户端。您需要将Content-Disposition标头设置为attachment,以便客户端显示另存为对话框。您还需要设置Content-Type标头,让客户端知道它是什么文件类型,以便它最终可以将正确的应用程序与它关联,以便最终用户立即打开它。最后,设置Content-Length标头最好是因为它可以提高服务性能(否则Servlet API将回退到需要更多字节和处理时间的分块编码)。

设置正确的标头后,只需将InputStreamFile写入OutputStream {I}常用的Java IO方式。

HttpServletResponse

答案 1 :(得分:0)

您是否在询问如何将文件发送给用户?

这可能有所帮助:Servlet for serving static content

然后,只需从用于演示的任何内容创建一个指向servlet的HTML链接。

答案 2 :(得分:0)

添加标题内容 - 处置:附件

答案 3 :(得分:0)

此代码段可以为您提供帮助。当您在IE浏览器中将内容处置设置为内联时,它将打开excel,而不会提示对话框。

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition","inline;fileName=" + fileName);
final java.io.OutputStream os = response.getOutputStream();

调用createExcel函数传递OutputStream Object

 
os.flush();
os.close();