web服务器用的tomcat,页面点击导出在firefox是这个样子的,文件名显示xx.action并不是后台给的名字:
IE中直接就是这个样子:
开发的时候用的是maven的jetty,并没有这样的问题,换成tomcat后就成这样了。
后台部分代码如下:
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();
没发现有什么问题,所以求看哪位有没有遇到过此问题,怎么解决的。
解决方案
2
请求是ajax的吧?
2
你可以把全部的连接的action后缀都去掉,直接写前面的名字如login,exportExcel等来打开链接地址
2
本人记得本人那时候导出excel的时候,请求的后缀直接配的.xls ,假如你是Strust2,可以直接在web.xml里面配置。Spring mvc也是web.xml里面配置 ,而且本人那时候导出的时候,配置了.xls模板,然后在后台填数据进去的,当然,假如你是直接导出页面数据,那你直接导出就ok,假如你是后台查询的数据,本人建议你配置一个.xls模板~
希望能对你有所帮助~
希望能对你有所帮助~
50
顺序翻了吧。
// 设置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”);
前面
// 设置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”);
前面
2
可能 application/vnd.ms-excel 这个类型不识别,这个需要在你的Web Server中进行配置,将其配置成可识别允许下载的文件。
2
response.setContentType(“application/msexcel;charset=UTF-8”);
用这个试试
用这个试试