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();
                 * 
                 * }
                 */    
  • 相关阅读:
    Bulk insert的用法
    跨服务器与连接不同数据库 不跨服务器连接库存表
    读书笔记(1)
    CSS渲染HTML时的优先级问题
    如何使用as3获得一组不重复的随机数
    flash cs5导出swc到flash builder 4
    转:AS3.0的Dictionary类简介
    转:As3.0中的反射
    Flex 4里的fx、mx以及s命名空间
    yahoo的flash组件
  • 原文地址:https://www.cnblogs.com/pzw23/p/14791080.html
Copyright © 2011-2022 走看看