页面导出Excel问题

暗然的白天 2014-06-09 11:05:32
web服务器用的tomcat,页面点击导出在firefox是这个样子的,文件名显示xx.action并不是后台给的名字:

IE中直接就是这个样子:

开发的时候用的是maven的jetty,并没有这样的问题,换成tomcat后就成这样了。
后台部分代码如下:

OutputStream osOut = response.getOutputStream();


String fileName = DateUtil.formatDate(new Date(),"yyyy-MM-dd");
//导出
exportExport.exportExcel("调研问卷",headers,all,osOut,"yyyy-MM-dd");

// 设置response的Header
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-disposition","attachment;filename="+new String(fileName.getBytes("GBK"),"ISO-8859-1")+".xls");

osOut.flush();
osOut.close();

没发现有什么问题,所以求看哪位有没有遇到过此问题,怎么解决的。
...全文
358 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼主。咋样了,我也遇到这问题,想不通啊。
致知Fighting 2014-06-09
  • 打赏
  • 举报
回复
F12监听一下网络看看返回的响应是什么样的
拾毅者 2014-06-09
  • 打赏
  • 举报
回复
你可以把所有的连接的action后缀都去掉,直接写前面的名字如login,exportExcel等来打开链接地址
暗然的白天 2014-06-09
  • 打赏
  • 举报
回复
引用 1 楼 ygycomon 的回复:
请求是ajax的吧?
不是的,页面是一个a标签
致知Fighting 2014-06-09
  • 打赏
  • 举报
回复
请求是ajax的吧?
lodamemory 2014-06-09
  • 打赏
  • 举报
回复
response.setContentType("application/msexcel;charset=UTF-8"); 用这个试试
yanyanem 2014-06-09
  • 打赏
  • 举报
回复
可能 application/vnd.ms-excel 这个类型不识别,这个需要在你的Web Server中进行配置,将其配置成可识别允许下载的文件。
hailshao 2014-06-09
  • 打赏
  • 举报
回复
顺序翻了吧。 // 设置response的Header response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setHeader("Content-disposition","attachment;filename="+new String(fileName.getBytes("GBK"),"ISO-8859-1")+".xls"); 放exportExport.exportExcel("调研问卷",headers,all,osOut,"yyyy-MM-dd"); 前面
  • 打赏
  • 举报
回复
我记得我那时候导出excel的时候,请求的后缀直接配的.xls ,如果你是Strust2,可以直接在web.xml里面配置。Spring mvc也是web.xml里面配置 ,而且我那时候导出的时候,配置了.xls模板,然后在后台填数据进去的,当然,如果你是直接导出页面数据,那你直接导出就ok,如果你是后台查询的数据,我建议你配置一个.xls模板~ 希望能对你有所帮助~

67,512

社区成员

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

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