不能保存和打开导出的Excel文件

maosenmin 2009-07-30 12:44:48
用Struts2+S+H 开发项目,用poi包,做导出至Excel工打开或保存。现在在Action中已经写好了,这个
response.setContentType("application/vnd.ms-excel;charset=GBK");
response.setHeader("Content-Disposition",
"attachment;Filename=message.xls");应当是没错的。我Tomcat在本机,数据库服务器是另外一台机子(同一IP段),现在部署后启动Tomcat,运行项目,导出是可以看见那个提示档案下载的窗口(打开、保存、取消),但当我点击打开是,闪一下并没有打开Excel文件,当我点击保存时,也是的闪一下并没有要我保存到哪里的对话框,然后也什么都没了,那我那文件跑哪去了呢,有谁知道这是怎么回事不?
...全文
423 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwei27 2009-08-05
  • 打赏
  • 举报
回复
跑到你服 務器上去了,建義你改變下你的保存路徑設為真路徑
String url = request.getSession().getServletContext().getRealPath("/");
String url1 = url + "/a.xls";
maosenmin 2009-07-30
  • 打赏
  • 举报
回复
API中都没有clear()方法啊?
For_suzhen 2009-07-30
  • 打赏
  • 举报
回复
out.clear();
out = pageContext.pushBody();
=================================
用一下试试。
maosenmin 2009-07-30
  • 打赏
  • 举报
回复
现在又是这个了:
2009 七月 30 15:43:32 ERROR (ApplicationDispatcher.java:711) - Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
maosenmin 2009-07-30
  • 打赏
  • 举报
回复
2009 七月 30 15:05:19 ERROR (ClosingUIBean.java:60) - Could not open template
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:607)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:196)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
at org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:173)

…………
好像是说
getOutputStream方法的问题,但是我这样用怎么就有问题了呢?
  • 打赏
  • 举报
回复
还是看LOG信息吧楼主


一下说不清楚

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧