jsp或者sevlet中,如果response的contenttype是text/html,那么就直接通过浏览器就可以解析内容了。
如果是application/x-excel,那么浏览器就不能自己解析了,就需要通过excel程序来打开,或者另存为文件了。
问题是,如果你没有指定文件名的花,系统就会使用默认的文件名,并且没有后缀名。
所以,为了能让用户下载的时候能够自动的保存一个带有后缀的文件,那么就需要用setHeader来指定文件名了。
具体实现如下:
response.setContentType("application/x-excel");
// response.setContentType("application/vnd.ms-excel");
OutputStream out = response.getOutputStream();
ExcelBussiness eb = new ExcelBussiness();
try {
response.setHeader("Content-Disposition", "attachment; filename="+"xxx.xls");
eb.responseExcel(out);
} catch (RowsExceededException e) {
// export excel exception
e.printStackTrace();
} catch (WriteException e) {
// export excel exceptin
}
请参照粗体代码部分。
|----------------------------------------------------------------------------------------|
版权声明 版权所有 @zhyiwww
引用请注明来源 http://www.blogjava.net/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2010-02-08 10:37
zhyiwww 阅读(7231)
评论(0) 编辑 收藏 所属分类:
j2ee