zoukankan      html  css  js  c++  java
  • easyexcel导出两种方式response返回文件流下载和保存到服务器返回下载链接

    1、response方式返回excel文件流

    @GetMapping("/exportExcel")
        public void exportExcel(@RequestParam(value = "menu") String menu,
                                @RequestParam(value = "dwflglId") int dwflglId,
                                @RequestParam(value = "qjCode") String qjCode,
                                HttpServletResponse response) throws IOException {
          //内容集合
            List<ZjlrysIndexView> jthz = getJthz(dwflglId, qjCode);
            //表头集合
            List<ZjlrysTableHead> header = getHeaderOfHz(dwflglId, qjCode);
            response.setHeader("Content-Disposition", "attachment; filename=Zjlryshz.xlsx");
            // 响应类型,编码
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            String bigTitle = "资金流入预算表";
            EasyExcel.write(response.getOutputStream()).head(getExcelHeader(header, bigTitle)).registerWriteHandler(new Custemhandler()).sheet("资金流入预算导出模板").doWrite(getExportData(jthz));
        }

    2、通过在服务器中生成excel临时文件,返回下载链接给前端下载

                // 获取当前时间
                String updTm = DateUtil.getAllTime();
                //filePath为服务器存放临时文件的路径,本地开发环境的时候先可以用本地电脑的路径,比如c:users/,这里加上时间是因为不想被覆盖,也可以加uuid之类的
                FileOutputStream fileOutputStream = new FileOutputStream(filePath + "xx导出模板" + updTm + ".xlsx");
    
                EasyExcel.write(fileOutputStream).head(getDownLoadExcelHead())
                        .registerWriteHandler(new CustomSheetWriteHandler(map)).registerWriteHandler(new Custemhandler())
                        .sheet("数据字典导出模板").doWrite(downLoadExcelData);
                //url_prefix为服务器的域名之类的下载路径
                String url = url_prefix + "xx导出模板" + updTm + ".xlsx";
                
    
                /*
                 * try {
                 * 
                 * // 若不进行编码在IE下会乱码
                 * 
                 * url = URLEncoder.encode(url, "UTF-8");
                 * 
                 * } catch (UnsupportedEncodingException e) {
                 * 
                 * e.printStackTrace();
                 * 
                 * }
                 */    
  • 相关阅读:
    linux常用命令
    设计模式-软件设计原则1-开闭原则
    java连接redis5.0单机版报连接超时错误
    模拟安装redis5.0集群并通过Java代码访问redis集群
    redis安装-单机版
    eclipse异常关了,tomcat如何关
    java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component...
    排序算法
    RpcException:No provider available for remote service异常
    3.mysql多表
  • 原文地址:https://www.cnblogs.com/pzw23/p/14791080.html
Copyright © 2011-2022 走看看