zoukankan      html  css  js  c++  java
  • 00006-java 下载一个excel模板(文件),前端layui按钮

    下载按钮:

    <button class="layui-btn layui-btn-sm" data-type="downTemplate">模板下载</button>
    

    对应方法:

    downTemplate:function () {
        window.open(ctx+"/download/template/customer");
    },
    

    java 控制层:

    
    import org.apache.commons.io.FileUtils;
    import org.apache.commons.io.IOUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.http.HttpHeaders;
    import org.springframework.http.HttpStatus;
    import org.springframework.http.MediaType;
    import org.springframework.http.ResponseEntity;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import javax.servlet.http.HttpServletRequest;
    
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.URL;
    import java.net.URLConnection;
    
    
    @Controller
    @RequestMapping("/download")
    public class DownloadController {
    
       private Logger logger = LoggerFactory.getLogger(getClass());
    
    
       @RequestMapping(value = "/template/customer")
       public ResponseEntity<byte[]> downloadTemp(HttpServletRequest request) throws IOException {
          String path = request.getSession().getServletContext().getRealPath("/");
          String newFileName = "客户信息模板" + ".xlsx";
          String fileName = "customer.xlsx";
          File file = FileUtils.getFile(path, "template", fileName);
          HttpHeaders headers = new HttpHeaders();
          headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
          headers.setContentDispositionFormData("attachment", new String(
                newFileName.getBytes("gbk"), "iso-8859-1"));
          return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),
                headers, HttpStatus.OK);
       }
    
    }
    

    customer.xlsx 是放在webapp/template目录下。

  • 相关阅读:
    Ansible 实战之部署Web架构
    Ansible Ad-Hoc命令集
    Ansible 基础知识
    memcached监控脚本
    Django2.1.1与xadmin0.6.0遇到的坑(一)
    django1.11 启动错误:Generator expression must be parenthesized
    使用Git Bash从Git上下载代码到本地以及上传代码到码云Git
    PyCharm如何导入python项目,并配置虚拟环境
    PYTHON中的字典(DICT),列表(LIST),元组(TUPLE)
    python2 和 python3共存的常见使用(如安装虚拟环境的问题)
  • 原文地址:https://www.cnblogs.com/jianquan100/p/12919997.html
Copyright © 2011-2022 走看看