IE11浏览器下导出Excel数据文件,文件名为乱码且没有文件扩展名

程序猿老高
博客专家认证
2014-06-11 08:16:57
今天遇到了一个大问题:当使用IE11将数据从系统导出到Excel文件时发现文件名为乱码且没有文件扩展名,但是该文件使用offic打开发现里面数据很完整,网上有这方面的解决办法,但是那是在客户端进行的设置,有没有在服务器端进行设置的其他方法?
...全文
1889 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37142914 2016-12-23
  • 打赏
  • 举报
回复
????????
lizhaoyang1975 2016-08-23
  • 打赏
  • 举报
回复
String userAgent = request.getHeader("USER-AGENT");

if(StringUtils.contains(userAgent, "Chrome") || StringUtils.contains(userAgent, "Firefox")){ //google,火狐浏览器
fileName = new String((fileName).getBytes(), "ISO8859-1");
}else{
fileName = URLEncoder.encode(fileName,"UTF8"); //其他浏览器
}
黑户码农 2016-07-27
  • 打赏
  • 举报
回复
引用 5 楼 qq_19659317 的回复:
我只想说法克,都是这种心理:自己有事就想找人帮忙,当别人有事找自己就想着收费。本来自己不会跑上了发帖求助,自己弄会了其他人来问自己就要别人送积分,其实我现在的心理和你上来问的心理是一样的,自己有可能总想有人帮一把,但我不会像你一样,有进无出
同法克
baidu_35311780 2016-06-15
  • 打赏
  • 举报
回复
public class DownLoadFileServlet extends HttpServlet { private static final long serialVersionUID = 3267130387538573529L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream outputStream = response.getOutputStream(); try { response.reset(); response.setContentType("application/octet-stream; charset=utf-8"); String fileName = "Jmeter使用教程.pdf"; String userAgent = request.getHeader("user-agent"); if (userAgent != null && userAgent.indexOf("Firefox") >= 0 || userAgent.indexOf("Chrome") >= 0 || userAgent.indexOf("Safari") >= 0) { fileName = "=?UTF-8?B?" + (new String(org.apache.commons.net.util.Base64.encodeBase64(fileName.getBytes("UTF-8")))) + "?=";//该行代码也可以使用下面的代码来代替: //fileName = "=?UTF-8?B?" + (new String(com.ghj.packageoftool.Base64.encode(fileName.getBytes("UTF-8")))) + "?="; } else { fileName = new String(fileName.getBytes("GBK"), "ISO-8859-1"); } response.setHeader("Content-Disposition", "attachment; filename=" + fileName); String path = request.getSession().getServletContext().getRealPath("/downLoad/e17f6f2b-931e-4582-a277-afcf9e923b19.pdf"); File file = new File(path); outputStream.write(FileUtils.readFileToByteArray(file)); outputStream.flush(); } finally { if (outputStream != null) { outputStream.close(); } } } }
baidu_35311780 2016-06-14
  • 打赏
  • 举报
回复
这么多文件代码在哪个文件
panyox 2016-06-03
  • 打赏
  • 举报
回复
引用 5 楼 qq_19659317 的回复:
我只想说法克,都是这种心理:自己有事就想找人帮忙,当别人有事找自己就想着收费。本来自己不会跑上了发帖求助,自己弄会了其他人来问自己就要别人送积分,其实我现在的心理和你上来问的心理是一样的,自己有可能总想有人帮一把,但我不会像你一样,有进无出

同法克
chenpeiwei33 2016-03-21
  • 打赏
  • 举报
回复
引用 5 楼 qq_19659317 的回复:
我只想说法克,都是这种心理:自己有事就想找人帮忙,当别人有事找自己就想着收费。本来自己不会跑上了发帖求助,自己弄会了其他人来问自己就要别人送积分,其实我现在的心理和你上来问的心理是一样的,自己有可能总想有人帮一把,但我不会像你一样,有进无出
同法克
qq_19659317 2015-08-05
  • 打赏
  • 举报
回复
我只想说法克,都是这种心理:自己有事就想找人帮忙,当别人有事找自己就想着收费。本来自己不会跑上了发帖求助,自己弄会了其他人来问自己就要别人送积分,其实我现在的心理和你上来问的心理是一样的,自己有可能总想有人帮一把,但我不会像你一样,有进无出
picchqd 2015-03-18
  • 打赏
  • 举报
回复
我们这电脑门外汉,怎么实现这个工程 呢?
程序猿老高 2014-09-03
  • 打赏
  • 举报
回复
引用 2 楼 defonds 的回复:
解决方案没说呢? 还有,换个浏览器也行吧?
这个是实现的工程:http://download.csdn.net/detail/wangshuxuncom/7852849
Defonds 2014-09-02
  • 打赏
  • 举报
回复
解决方案没说呢? 还有,换个浏览器也行吧?
程序猿老高 2014-09-02
  • 打赏
  • 举报
回复
该问题终于解决,详见工程:http://download.csdn.net/detail/wangshuxuncom/7852849

81,092

社区成员

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

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