代码如下:
// 导出 excel 文件
File file = new File(targetPath);FileInputStream fis = new FileInputStream(excelFile);
response.setContentType("application/octet-stream");
String userAgent = request.getHeader("User-Agent");
byte[] bytes = userAgent.contains("MSIE") ? file.getName().getBytes() : file.getName().getBytes("UTF-8"); // name.getBytes("UTF-8")处理safari的乱码问题
String name = new String(bytes, "ISO-8859-1"); // 各浏览器基本都支持ISO编码
response.setHeader("Content-Disposition", "attachment;filename=\"" + name + "\"");
//response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
//response.setHeader("Content-Length", String.valueOf(file.length()));
FileCopyUtils.copy(fis, response.getOutputStream());
参考文档:http://f0rb.iteye.com/blog/1308579