• 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();
                 * 
                 * }
                 */    
  • 相关阅读:
    记录优雅的pythonic代码
    记录python学习过程中的一些小心得
    关于理解python类的小题
    CSS3之属性选择器
    CSS3之初始
    HTML5+CSS3之离线web应用
    HTML5+CSS3之响应式视频以及iFrame下插入响应式视频的解决方案
    HTML5+CSS3之播放视频以及在IE8及以下的解决方案
    HTML5+CSS3响应式设计(二)
    HTML5+CSS3响应式设计(一)
  • 原文地址:https://www.cnblogs.com/pzw23/p/14791080.html
Copyright © 2020-2023  润新知