走过路过请进来看看,贴了好几次了没人能解,快急死了!!!(Up 者有分)

seagullgao 2003-08-19 04:43:30
我使用POI 做Excel Web报表,每次改变查询条件时就出现一个讨厌的Excel 提示窗口:

“ 名为myReport.jsp文档已经打开。不能打开同名文件无论他们是否在同一文件夹中。要打开第二份文档请关闭已打开的文档,或者重命名该文档。” 点了该窗口的确定按纽后,更新后的Web就出现了。 怎样才能去掉那讨厌的提示窗口。

我的Servlet 代码如下:

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

// HSSFSheet sheet = null;
HSSFWorkbook wb = null;

HttpSession session=req.getSession (true);


Vector data = (Vector) session.getAttribute("data");
sheetName = (String) session.getAttribute("name");

if (data != null && data.size() > 0) {
wb = new HSSFWorkbook();

//Define sheet name
Date dt = new java.util.Date();
sheetName = sheetName + " " +dt.toLocaleString();
this.createSheet(data, wb, sheetName);
ServletOutputStream stream = res.getOutputStream();

res.setContentType("application/vnd.ms-excel");
wb.write(stream);
stream.flush();
stream.close();

} else{
System.out.println("Data is null .");
}

}

该servlet接受session中的data参数,并解析成Excel WorkBook.
CreateSheet()函数做具体的Excel加工动作。
...全文
50 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingppppqqqq 2003-08-19
  • 打赏
  • 举报
回复
up
gboy2003 2003-08-19
  • 打赏
  • 举报
回复
up
txlicenhe 2003-08-19
  • 打赏
  • 举报
回复
up
seagullgao 2003-08-19
  • 打赏
  • 举报
回复
up
akiko 2003-08-19
  • 打赏
  • 举报
回复
up
jimaojian 2003-08-19
  • 打赏
  • 举报
回复
up
seagullgao 2003-08-19
  • 打赏
  • 举报
回复
高手快点来啊。
amortal 2003-08-19
  • 打赏
  • 举报
回复
没有用过,学习ing,up
seagullgao 2003-08-19
  • 打赏
  • 举报
回复

楼上大哥的办法我也尝试了,Stream确实关掉了,问题依旧。不过我觉得应该就是Stream哪里不对。 急死了!!!
walkfish 2003-08-19
  • 打赏
  • 举报
回复
补充:
好像HSSFWorkbook也有一个close吧,wb.close();放在stream.close();后面
walkfish 2003-08-19
  • 打赏
  • 举报
回复
把关闭流放在finally里面,否则如果前面出现异常,关闭流会被跳过,
这样就一直处在只读状态
try {
... ...
}
finally {
stream.close();
}
seagullgao 2003-08-19
  • 打赏
  • 举报
回复
我本来就是按照楼上说的那样,在myReport.jsp里有句话

response.sendRedirect(”/qbean/servlet/smic.QBeanExcelServlet“);

来呼叫servlet的。

starfeng 2003-08-19
  • 打赏
  • 举报
回复
不要直接提交到这个servlet,
你可以将请求先提交到aaa.jsp,aaa中只有一句话:
<% response.sendRedirect("http://你的servlet?相关的参数") %>
patrickjava 2003-08-19
  • 打赏
  • 举报
回复
在jsp页面中设置:
<meta http-equiv="Content-Type" content=".....>

看看
stonewang 2003-08-19
  • 打赏
  • 举报
回复
up,有时间再研究:-)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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