zoukankan      html  css  js  c++  java
  • springboot下载excel模板

    在网上找了半天,获取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();
      }

    }

  • 相关阅读:
    剑指OFFER----面试题17- 打印从1到最大的n位数
    剑指OFFER----面试题16. 数值的整数次方
    剑指OFFER----面试题15. 二进制中1的个数
    剑指OFFER----面试题14- II. 剪绳子II
    07 多层if判断
    08 while循环
    06 if 流程控制
    03 身份运算符、逻辑运算符
    04 位运算符、运算符优先级
    02 赋值运算符、成员运算符
  • 原文地址:https://www.cnblogs.com/zhangyangtao/p/9802948.html
Copyright © 2011-2022 走看看