当前位置: 首页 > news >正文

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文件,后台通过流形式输出到前端浏览器下载方式输出

前端代码&#xff08;参考&#xff09;&#xff1a;$("#import").on(click, function(){var createDate$("#createdDate").val();var key1$("#key1").val();if(createDatenull||createDate""){layer.msg("请选择创建时间段&#…...

Pandas实战100例 | 案例 56: 创建多重索引

案例 56: 创建多重索引 知识点讲解 在 Pandas 中&#xff0c;多重索引&#xff08;或层次化索引&#xff09;提供了在 DataFrame 中表示多维数据的方式。这使得数据分析在多个级别上更加灵活和强大。 创建多重索引: 通过使用 set_index 方法并传入多个列名&#xff0c;可以在…...

解决“nacos默认secret.key配置不当权限绕过漏洞“

一、前言 nacos 2.2.0.1以下版本会有一个nacos默认secret.key配置不当权限绕过漏洞&#xff0c;等级为高危。形成原因是nacos的配置文件中存在这么一个secret.key默认配置&#xff1a; nacos.core.auth.plugin.nacos.token.secret.keySecretKey01234567890123456789012345678…...

一款好用的开源思维导图软件 docker部署教程

目录 Simple mind map简介 Simple mind map特点 1.拉取镜像 2.创建并启动容器 方式1&#xff1a;docker启动 方式2&#xff1a;docker compose启动 3.使用 4.源码地址 Simple mind map简介 .一个 Web 思维导图&#xff0c;基于思维导图库、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 …...

创意交融:集成自定义报表和仪表盘设计器,实现图标替换

前言 在现代数据分析领域&#xff0c;随着对报表和数据分析的需求不断增长&#xff0c;市场上涌现了许多嵌入式报表工具。这些工具能够与企业现有的OA、ERP、MES、CRM等应用系统深度集成&#xff0c;实现对业务数据的自助式分析。然而&#xff0c;在实际应用中&#xff0c;不同…...

Mybatis 40_resultMap基础和@Results注解

40_resultMap基础和Results注解 resultType和resultMap<resultMap.../>元素项目0501resultMap Results注解项目0502resultMap注解&#xff08;Results) 【总结】 resultType和resultMap resultType指定结果集每条记录要映射的对象类型。resultMap表明使用自定义的映射规…...

【蓝桥杯选拔赛真题31】C++数位求和 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C++数位求和 一、题目要求 1、编程实现 2、输入输出...

牛客网-css继承属性

3.当元素的一个继承属性没有指定值时&#xff0c;则取父元素的同属性的计算值&#xff0c;以下哪些不是 CSS 中的继承属性&#xff1f; A. color B.display C.border-style D.text-align 答案&#xff1a;BC 解析&#xff1a;不可继承&#xff1a;display&#xff0c;mar…...

OpenCV-19图像的仿射变换

放射变换是图像旋转&#xff0c;缩放&#xff0c;平移的总称&#xff0c;具体的做法是通过一个矩阵和原图片坐标进行计算&#xff0c;得到新的坐标&#xff0c;完成变换&#xff0c;所以关键就是这个矩阵。 一、仿射变换之图像平移 使用API------warpAffine&#xff08;src &…...

数据结构与算法教程,数据结构C语言版教程!(第四部分、字符串,数据结构中的串存储结构)二

第四部分、字符串&#xff0c;数据结构中的串存储结构 串存储结构&#xff0c;也就是存储字符串的数据结构。 很明显&#xff0c;字符串之间的逻辑关系也是“一对一”&#xff0c;用线性表的思维不难想出&#xff0c;串存储结构也有顺序存储和链式存储。 提到字符串&#xff…...

第七在线荣获百灵奖 Buylink Awards 2023零售圈年度卓越服务商品牌

1月11日&#xff0c;由零售圈主办、20零售连锁协会协办、30零售行业媒体支持的中国零售圈大会暨2024未来零售跨年盛典在西安落下帷幕&#xff0c;在这个零售行业盛典中&#xff0c;第七在线凭借其高精尖产品和卓越的服务质量成功入选&#xff0c;并荣获了“百灵奖 Buylink Awar…...

通过myBatis将sql语句返回的值自动包装成一个java对象(3)

1.如果sql字段和java字段名字不一样怎么办&#xff1f; 之前我们将sql返回值转换为java对象时&#xff0c;每条sql的返回值的字段名和java类中的字段名是一一对应的&#xff0c;ie&#xff1a;sql选择的user有username和password两个字段&#xff0c;java中的user对象也有两个…...

基于SSM的驾校信息管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue、HTML 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是…...

矩阵行列式的四大应用

目录 一. 介绍 二. 行列式的基本性质 2.1 单位阵的行列式 2.2 交换行位置的行列式 三. 矩阵求逆与行列式 四. 体积与行列式 五. 矩阵主元与行列式 六. 解方程与矩阵行列式 七. 小结 一. 介绍 行列式可以反应矩阵的很多性质&#xff0c;比如可以求矩阵的逆&#xff0c…...

【小笔记】时序数据分类算法最新小结

2024.1.15 最近基于时序数据训练分类算法&#xff0c;对其进行了一番了解&#xff0c;主要围绕以下几点&#xff1a; 时序数据算法有哪些细分类&#xff1f;时序数据分类算法经典模型&#xff1f;当下时序分类算法模型强baseline&#xff1f;有没有现成的工具&#xff1f; 1…...

使用Python+pygame实现贪吃蛇小游戏

使用Pythonpygame贪吃蛇小游戏 使用第三方库pygame&#xff0c;关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 给出两种实现。 第一种 运行效果如下&#xff1a; 游戏源码如下&#xff1a; import pygame import sy…...

SpringBoot 全局异常统一处理:BindException(绑定异常)

概述 在Spring Boot应用中&#xff0c;数据绑定是一个至关重要的环节&#xff0c;它负责将HTTP请求中的参数映射到控制器方法的入参对象上。在这个过程中如果遇到任何问题&#xff0c;如参数缺失、类型不匹配或验证失败等&#xff0c;Spring MVC将会抛出一个org.springframewo…...

ucloud轻量云(wordpress)配置ssl

ucloud 轻量云(wordpress)配置ssl 1、上传ssl证书到/usr/local/software/apache/conf&#xff0c;这里的文件名和内容与ucloud控制台下载下来的文件名和内容保持一致 2、修改httpd.conf文件 vim /usr/local/software/apache/conf/httpd.conf 找到下面两行&#xff0c;去掉注…...

电脑/设备网络共享给其他设备上网

文章目录 一、概述二、设置网络共享2.1 电脑可以上网&#xff0c;通过网络共享让其他设备也可以上网2.2 手机如何使用USB数据线共享网络给电脑 一、概述 现在有如下几种情况&#xff1a; 设备本身不能上网&#xff0c;需要通过电脑上网 笔记本WIFI连热点上网&#xff0c;然后…...

NISQ时代量子机器学习实战:从变分量子电路到混合架构落地

1. 量子机器学习&#xff1a;从NISQ时代的现实挑战到工程实践如果你关注前沿科技&#xff0c;最近几年一定频繁听到“量子计算”和“机器学习”这两个词。当这两个看似在不同轨道上狂奔的领域开始交汇&#xff0c;就诞生了一个充满想象力又极具挑战的新方向——量子机器学习。我…...

Solid.js信号驱动架构深度解析:告别虚拟DOM的真正实践

Solid.js信号驱动架构深度解析:告别虚拟DOM的真正实践 作者:Crown_22 | AI Agent & Hermes Agent 桌面程序开发者 前言 2026年的前端框架格局已经发生了深刻变化。React 用 Server Components 重新定义了组件模型,Vue 3.5 用 Vapor 模式抛弃了虚拟 DOM,Svelte 5 用 Ru…...

终极指南:如何将普通智能音箱改造成AI语音助手

终极指南&#xff1a;如何将普通智能音箱改造成AI语音助手 【免费下载链接】mi-gpt &#x1f3e0; 将小爱音箱接入 ChatGPT 和豆包&#xff0c;改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 您是否想过&#xff0c;家中那台只会简…...

5分钟实现Windows三指拖拽:macOS手势体验的终极解决方案

5分钟实现Windows三指拖拽&#xff1a;macOS手势体验的终极解决方案 【免费下载链接】ThreeFingersDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeFingersDrag…...

如何在5分钟内用VPKEdit一站式管理20多种游戏资源包格式?

如何在5分钟内用VPKEdit一站式管理20多种游戏资源包格式&#xff1f; 【免费下载链接】VPKEdit A CLI/GUI tool to create, read, and write several pack file formats. 项目地址: https://gitcode.com/gh_mirrors/vp/VPKEdit 独立游戏开发者和MOD制作者们&#xff0c;…...

3个步骤解锁《塞尔达传说:旷野之息》终极存档编辑器

3个步骤解锁《塞尔达传说&#xff1a;旷野之息》终极存档编辑器 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想象一下&#xff0c;当你在海拉鲁大陆冒险时&…...

3分钟快速解锁:如何让你的索尼相机显示中文菜单?

3分钟快速解锁&#xff1a;如何让你的索尼相机显示中文菜单&#xff1f; 【免费下载链接】OpenMemories-Tweak Unlock your Sony cameras settings 项目地址: https://gitcode.com/gh_mirrors/op/OpenMemories-Tweak 还在为索尼相机只能显示英文或日文菜单而烦恼吗&…...

为什么92%的DeepSeek部署失败?揭秘量化校准中被忽略的3个KL散度阈值临界点

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么92%的DeepSeek部署失败&#xff1f;揭秘量化校准中被忽略的3个KL散度阈值临界点 在真实生产环境中&#xff0c;DeepSeek-R1/Distill系列模型的INT4量化部署失败率高达92%&#xff0c;核心症结并非…...

GitHub中文界面终极汉化指南:5分钟告别英文困扰

GitHub中文界面终极汉化指南&#xff1a;5分钟告别英文困扰 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 还在为GitHub复杂的英文界…...

【DeepSeek敏感信息过滤实战指南】:20年安全专家亲授5大误判陷阱与99.97%准确率调优公式

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;DeepSeek敏感信息过滤的核心原理与演进脉络 DeepSeek敏感信息过滤系统并非依赖单一规则引擎或静态词库&#xff0c;而是融合多层级语义理解、上下文感知建模与动态策略调度的复合型防护架构。其核心原理建立在…...