springboot下载excel模板

2018-10-19 06:30:13来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

在网上找了半天,获取springboot resource下面的文件,各种实验,最终解决了,废话不说直接上代码

 

/**
* 描述:下载外部案件导入模板
* @throws Exception
*/
@RequestMapping(value = "/downloadExcel")
@ResponseBody
public void downloadExcel(HttpServletResponse res, HttpServletRequest req,String name) throws Exception {
       String fileName = name+".xlsx";
    ServletOutputStream out;
    res.setContentType("multipart/form-data");
    res.setCharacterEncoding("UTF-8");
    res.setContentType("text/html");
    String filePath = getClass().getResource("/template/" + fileName).getPath();
    String userAgent = req.getHeader("User-Agent");
  if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
    fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
  } else {
    // 非IE浏览器的处理:
         fileName = new String((fileName).getBytes("UTF-8"), "ISO-8859-1");
  }
  filePath = URLDecoder.decode(filePath, "UTF-8");
  res.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
  FileInputStream inputStream = new FileInputStream(filePath);
  out = res.getOutputStream();
  int b = 0;
  byte[] buffer = new byte[1024];
  while ((b = inputStream.read(buffer)) != -1) {
  // 4.写到输出流(out)中
  out.write(buffer, 0, b);
  }
  inputStream.close();

  if (out != null) {
  out.flush();
  out.close();
  }

}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java GC机制详解

下一篇:5.6(java学习笔记) queue