poi操作EXCEL,下载时,怎么在浏览器里直接打开了啊?

skyboy0720 2006-03-31 10:08:06
我是一个提交页面,提交到一个SERVLET,然后输出下载
.......
fileName=fileName+".xls";
response.setContentType("application/file");
response.setHeader("Content-Disposition","filename="+fileName);
ServletOutputStream out = response.getOutputStream();
wb.write(out);
out.close();

我以前这样设置过的啊,都可以!现在却直接是在浏览器里打开,我把fileName改个后缀
.xls1就OK了,是浏览器问题还是BUG问题,怎么解决,请教老鸟!
...全文
362 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
图门的世界 2006-03-31
  • 打赏
  • 举报
回复
那就是你的浏览器设置的问题了
有些文件ie是可以直接打开而不用下载的,如果它无法识别就会提示你下载保存.
skyboy0720 2006-03-31
  • 打赏
  • 举报
回复
谢谢,在我机子上是这样,但在别人的机子上都OK的,没搞懂!
图门的世界 2006-03-31
  • 打赏
  • 举报
回复
我以前是这样用的
你参考一下看看

<%@ page import="java.util.*,java.io.*,java.lang.*"%>
<%

String queryName =(String)request.getAttribute("queryName");

String mimeType =(String)request.getAttribute("mimeType");
request.removeAttribute("mimeType");
if(mimeType==null || mimeType.equals("")) mimeType="APPLICATION/VND.MS-EXCEL";
queryName = new String(queryName.getBytes("gb2312"), "ISO8859-1");
try {
response.setContentType(mimeType);
response.setHeader("Content-Disposition","attachment; filename=\""+ queryName+ "\"");

//stream out file
ByteArrayOutputStream outputStream =(ByteArrayOutputStream)request.getAttribute("fileStream");
ServletOutputStream fOutputStream = response.getOutputStream();
fOutputStream.write(outputStream.toByteArray());
outputStream.close();
fOutputStream.close();


} catch (Exception exp){
System.out.println("Exception: "+exp.getMessage());
}

%>
<jsp:forward page="blank.jsp"/>
amushen 2006-03-31
  • 打赏
  • 举报
回复
直接在jsp页面里调用,然后把out传给poi的类,这样poi就可以write(out)了。
核心思想就是poi直接输出到jsp页面的out流中。

81,091

社区成员

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

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