EasyExcel下载EXCEL文件,后台通过流形式输出到前端浏览器下载方式输出
前端代码(参考):
$("#import").on('click', function(){var createDate=$("#createdDate").val();var key1=$("#key1").val();if(createDate==null||createDate==""){layer.msg("请选择创建时间段!在点击导出数据)");return ;}var load = layer.load();//原生ajaxvar xhr = new XMLHttpRequest();//post方式请求后台的路径xhr.open('post', gatewayServerUrl+'/execute/openApi/importByCreate2', true);//导出的Excel是二进制数据类型,所以设置为blobxhr.responseType = 'blob';//请求头(key,value),请求头可以设置多个key-value对xhr.setRequestHeader('Content-Type', 'application/json;charset=utf-8');//返回成功,导出的Excel文件xhr.onload = function () {if (this.status == 200) {layer.close(load);var blob = this.response;var a = document.createElement('a');var url = window.URL.createObjectURL(blob);a.href = url;//设置文件名称a.download = '产品完检管理【'+createDate+'】.xlsx';a.click();}}//请求的参数,json格式,后台要用json格式接收xhr.send(JSON.stringify({"createDate" : createDate,"key1":key1}));});
后端代码(参考):
List<ManuProductCheckExport> list = new ArrayList<>();
OutputStream out = response.getOutputStream();
//文件名需要这样写,不能在setHeader直接写中文名,否则下载的文件名字为空,只有后缀
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("导出数据产品完检", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
ExcelWriter excelWriter = EasyExcelFactory.write(out).build();
EasyExcel.write(response.getOutputStream(), ManuProductCheckExport.class).sheet("sheet").doWrite(list);
excelWriter.finish();
out.flush();
out.close();
依赖:
<!-- easyexcel导入导出 --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.7</version> </dependency>
相关文章:
EasyExcel下载EXCEL文件,后台通过流形式输出到前端浏览器下载方式输出
前端代码(参考):$("#import").on(click, function(){var createDate$("#createdDate").val();var key1$("#key1").val();if(createDatenull||createDate""){layer.msg("请选择创建时间段&#…...
Pandas实战100例 | 案例 56: 创建多重索引
案例 56: 创建多重索引 知识点讲解 在 Pandas 中,多重索引(或层次化索引)提供了在 DataFrame 中表示多维数据的方式。这使得数据分析在多个级别上更加灵活和强大。 创建多重索引: 通过使用 set_index 方法并传入多个列名,可以在…...
解决“nacos默认secret.key配置不当权限绕过漏洞“
一、前言 nacos 2.2.0.1以下版本会有一个nacos默认secret.key配置不当权限绕过漏洞,等级为高危。形成原因是nacos的配置文件中存在这么一个secret.key默认配置: nacos.core.auth.plugin.nacos.token.secret.keySecretKey01234567890123456789012345678…...
一款好用的开源思维导图软件 docker部署教程
目录 Simple mind map简介 Simple mind map特点 1.拉取镜像 2.创建并启动容器 方式1:docker启动 方式2:docker compose启动 3.使用 4.源码地址 Simple mind map简介 .一个 Web 思维导图,基于思维导图库、Vue2.x、ElementUI 开发&#…...
Jenkins之pipeline
安装插件 Pipeline Pipeline: Stage View Plugin 创建任务 配置 demo 开始实践 拉取git仓库代码 checkout scmGit(branches: [[name: */main]], extensions: [], userRemoteConfigs: [[url: http://178.119.30.133:8929/root/mytest.git]])通过SonarQube做质量检测 sh …...
创意交融:集成自定义报表和仪表盘设计器,实现图标替换
前言 在现代数据分析领域,随着对报表和数据分析的需求不断增长,市场上涌现了许多嵌入式报表工具。这些工具能够与企业现有的OA、ERP、MES、CRM等应用系统深度集成,实现对业务数据的自助式分析。然而,在实际应用中,不同…...
Mybatis 40_resultMap基础和@Results注解
40_resultMap基础和Results注解 resultType和resultMap<resultMap.../>元素项目0501resultMap Results注解项目0502resultMap注解(Results) 【总结】 resultType和resultMap resultType指定结果集每条记录要映射的对象类型。resultMap表明使用自定义的映射规…...
【蓝桥杯选拔赛真题31】C++数位求和 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
目录 C/C++数位求和 一、题目要求 1、编程实现 2、输入输出...
牛客网-css继承属性
3.当元素的一个继承属性没有指定值时,则取父元素的同属性的计算值,以下哪些不是 CSS 中的继承属性? A. color B.display C.border-style D.text-align 答案:BC 解析:不可继承:display,mar…...
OpenCV-19图像的仿射变换
放射变换是图像旋转,缩放,平移的总称,具体的做法是通过一个矩阵和原图片坐标进行计算,得到新的坐标,完成变换,所以关键就是这个矩阵。 一、仿射变换之图像平移 使用API------warpAffine(src &…...
数据结构与算法教程,数据结构C语言版教程!(第四部分、字符串,数据结构中的串存储结构)二
第四部分、字符串,数据结构中的串存储结构 串存储结构,也就是存储字符串的数据结构。 很明显,字符串之间的逻辑关系也是“一对一”,用线性表的思维不难想出,串存储结构也有顺序存储和链式存储。 提到字符串ÿ…...
第七在线荣获百灵奖 Buylink Awards 2023零售圈年度卓越服务商品牌
1月11日,由零售圈主办、20零售连锁协会协办、30零售行业媒体支持的中国零售圈大会暨2024未来零售跨年盛典在西安落下帷幕,在这个零售行业盛典中,第七在线凭借其高精尖产品和卓越的服务质量成功入选,并荣获了“百灵奖 Buylink Awar…...
通过myBatis将sql语句返回的值自动包装成一个java对象(3)
1.如果sql字段和java字段名字不一样怎么办? 之前我们将sql返回值转换为java对象时,每条sql的返回值的字段名和java类中的字段名是一一对应的,ie:sql选择的user有username和password两个字段,java中的user对象也有两个…...
基于SSM的驾校信息管理系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue、HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是…...
矩阵行列式的四大应用
目录 一. 介绍 二. 行列式的基本性质 2.1 单位阵的行列式 2.2 交换行位置的行列式 三. 矩阵求逆与行列式 四. 体积与行列式 五. 矩阵主元与行列式 六. 解方程与矩阵行列式 七. 小结 一. 介绍 行列式可以反应矩阵的很多性质,比如可以求矩阵的逆,…...
【小笔记】时序数据分类算法最新小结
2024.1.15 最近基于时序数据训练分类算法,对其进行了一番了解,主要围绕以下几点: 时序数据算法有哪些细分类?时序数据分类算法经典模型?当下时序分类算法模型强baseline?有没有现成的工具? 1…...
使用Python+pygame实现贪吃蛇小游戏
使用Pythonpygame贪吃蛇小游戏 使用第三方库pygame,关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 给出两种实现。 第一种 运行效果如下: 游戏源码如下: import pygame import sy…...
SpringBoot 全局异常统一处理:BindException(绑定异常)
概述 在Spring Boot应用中,数据绑定是一个至关重要的环节,它负责将HTTP请求中的参数映射到控制器方法的入参对象上。在这个过程中如果遇到任何问题,如参数缺失、类型不匹配或验证失败等,Spring MVC将会抛出一个org.springframewo…...
ucloud轻量云(wordpress)配置ssl
ucloud 轻量云(wordpress)配置ssl 1、上传ssl证书到/usr/local/software/apache/conf,这里的文件名和内容与ucloud控制台下载下来的文件名和内容保持一致 2、修改httpd.conf文件 vim /usr/local/software/apache/conf/httpd.conf 找到下面两行,去掉注…...
电脑/设备网络共享给其他设备上网
文章目录 一、概述二、设置网络共享2.1 电脑可以上网,通过网络共享让其他设备也可以上网2.2 手机如何使用USB数据线共享网络给电脑 一、概述 现在有如下几种情况: 设备本身不能上网,需要通过电脑上网 笔记本WIFI连热点上网,然后…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
