easyexcel导出两种方式response返回文件流下载和保存到服务器返回下载链接

摘要:
1、response方式返回excel文件流@GetMapping("/exportExcel")publicvoidexportExcel(@RequestParam(value="menu")Stringmenu,@RequestParam(value="dwflglId")intdwflglId,@RequestParam(value="qjCode")StringqjCode,HttpSe

1、response方式返回excel文件流

@GetMapping("/exportExcel")
    public void exportExcel(@RequestParam(value = "menu") String menu,
                            @RequestParam(value = "dwflglId") intdwflglId,
                            @RequestParam(value = "qjCode") String qjCode,
                            HttpServletResponse response) throwsIOException {
      //内容集合
        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(newCustemhandler())
                    .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();
             * 
             * }
             */    

免责声明:文章转载自《easyexcel导出两种方式response返回文件流下载和保存到服务器返回下载链接》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ZFS文件系统及Freenas介绍解决ubuntu下字体模糊的问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java安全之安全加密算法

Java安全之安全加密算法 0x00 前言 本篇文来谈谈关于常见的一些加密算法,其实在此之前,对算法的了解并不是太多。了解的层次只是基于加密算法的一些应用上。也来浅谈一下加密算法在安全领域中的作用。写本篇文也是基于算法的应用和实现,也是我的基本原则,能用就行。 0x01 算法体制 在加密算法里面大致分为四大类:对称加密算法、非对称加密算法、散列函数、组合加...

ASP.NET Core MVC基础知识

本章将和大家分享ASP.NET Core MVC的一些基础知识,包括Action接收参数、Action向视图传值、常用过滤器的使用、布局页、分部视图、视图组件ViewComponent的使用以及在视图中如何导入公共命名空间等,希望通过本文的分享能够对初学者有所帮助。下面我们直接进入主题。 首先来看一下我们的解决方案: 本Demo的Web项目为ASP.NE...

C#导出Excel-利用特性自定义数据

 网上C#导出Excel的方法有很多。但用来用去感觉不够自动化。于是花了点时间,利用特性做了个比较通用的导出方法。只需要根据实体类,自动导出想要的数据  1.在NuGet上安装Aspose.Cells或者用微软自带类库也可以  2.需要导出的数据的实例类: using System.ComponentModel; using System.Re...

JAVA 比较两张图片的相似度

原文:http://liuguihua0823.iteye.com/blog/1178118#bc2395917 import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; /** * 比较两张图片的相似度...

C#发送邮件(使用SSL,587端口)

static readonly string smtpServer = System.Configuration.ConfigurationManager.AppSettings["SmtpServer"]; static readonly string userName = System.Configuration.Configurati...

[C#]通过调用Word模板(Doc、dot)直接打印

通过替换模板中的指定 书签 来进行内容的替换、整合,然后直接发送到打印打印,也可以导出。即把打印出的语句换成保存函数。 public static classmyPrintByOffice { public static voidbyDoc(Stringtime,Stringuid) { Microsoft.Office.Interop.Word.Appl...