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();
      }

    }

  • 相关阅读:
    MongoDB学习
    Linux 硬盘分区、分区、删除分区、格式化、挂载、卸载
    openstack中数据库连接数太多--pymysql.err.OperationalError,1040, u'Too many connections'
    openstack各服务端口使用情况
    linux常用命令
    云计算---OpenStack Neutron详解
    shell---数据流重定向
    云计算---openstack创建虚拟机过程
    SpringMvc面试题
    Linux 本机/异机文件对比
  • 原文地址:https://www.cnblogs.com/zhangyangtao/p/9802948.html
Copyright © 2011-2022 走看看