springboot+vue使用easyExcel实现导出功能
vue部分
// 导出计算数据exportDataHandle(id) {this.$http({url: this.$http.adornUrl('/xxx/xxx/exportCalDataExcel'),method: 'post',data: this.$http.adornData({'id': id}),responseType: 'blob', // 重要:告诉axios我们希望接收二进制数据}).then(({data}) => {const blob = new Blob([data], {type: 'data:application/vnd.ms-excel;base64;charset=utf-8'});const downloadElement = document.createElement('a');const href = window.URL.createObjectURL(blob); // 创建下载的链接downloadElement.href = href;downloadElement.download = 'abc' + '.xlsx'; // 下载后文件名document.body.appendChild(downloadElement);downloadElement.click(); // 点击下载document.body.removeChild(downloadElement); // 下载完成移除元素window.URL.revokeObjectURL(href); // 释放掉blob对象this.$message({message: '操作成功',type: 'success',duration: 1500,})})},
Java部分
1导入maven依赖
这里要注意,由于easyexcel的包中包含了poi的依赖,所以在引入easyexcel包之前,需要删掉mavne中poi的包,否则会出现依赖异常:com.alibaba.excel.exception.ExcelGenerateException: java.lang.NoSuchFieldError: Factory
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.79</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.10</version></dependency>
2 编写代码
import com.alibaba.excel.EasyExcel; /*** 导出 计算数据*/@RequestMapping("/exportCalDataExcel")public void exportCalDataExcel(@RequestBody ExamEntity exam, HttpServletResponse response) throws IOException {//1 数据获取List<CalDataDto> dataList = answerScoreService.getAllCalData(exam);//2 设置响应头response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf-8");// 这里URLEncoder.encode可以防止中文乱码String fileName = URLEncoder.encode("文件名", "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");// 3 将数据写入excel中EasyExcel.write(response.getOutputStream(), CalDataDto.class).sheet("Sheet1").doWrite(dataList);}
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;@Data
public class CalDataDto {@ExcelProperty("变量名")
// @ColumnWidth(10)private String name;@ExcelProperty("数据")private Double num;
}
相关文章:
springboot+vue使用easyExcel实现导出功能
vue部分 // 导出计算数据exportDataHandle(id) {this.$http({url: this.$http.adornUrl(/xxx/xxx/exportCalDataExcel),method: post,data: this.$http.adornData({id: id}),responseType: blob, // 重要:告诉axios我们希望接收二进制数据}).then(({data}) > {c…...
ffmpeg-avio实战:打开本地文件或者网络直播流dome
使用ffmpeg打开打开本地文件或者网络直播流的一个小dome。流程产靠ffmpeg4.x系列的解码流程-CSDN博客 #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libavformat/avio.h> #include <libavutil/file.h> #include &l…...
css预处理器sass
在前端开发的世界中,CSS 是构建网页样式的基础。然而,随着项目规模的增大,纯 CSS 的编写和维护往往会变得复杂而繁琐。为了解决这些痛点,Sass(Syntactically Awesome Style Sheets)应运而生。Sass 是一种 C…...
VulnHub-Acid(1/100)
参考链接: 【VulnHub】Acid靶场复盘-CSDN博客 靶场渗透(二)——Acid渗透_ambassador 靶场渗透-CSDN博客 网络安全从0到0.5之Acid靶机实战渗透测试 | CN-SEC 中文网 Vulnhub靶场渗透练习(四) Acid - 紅人 - 博客园 红日团队…...
MATLAB语言的正则表达式
MATLAB 中的正则表达式使用指南 引言 在数据处理和文本分析中,正则表达式是一种强大而灵活的工具。MATLAB 作为一种广泛应用于科学计算和数据分析的编程语言,提供了对正则表达式的支持,使得用户可以方便地进行字符串匹配与处理。本文将深入…...
通过 route 或 ip route 管理Linux主机路由
目录 一:route 使用说明1、查看路由信息2、删除指定路由3、增加指定路由 二:ip route 使用说明1、查看主机路由2、新增主机路由3、删除主机路由 通过route 或者ip route修改Linux主机路由后属于临时生效,系统重启后就恢复默认值了,…...
MYSQL--------SQL 注入简介MySQL SQL Mode 简介
SQL 注入简介 定义:SQL 注入是一种常见的安全漏洞,攻击者通过在输入中插入恶意的 SQL 语句,利用应用程序中未正确处理的输入数据,来改变 SQL 查询的逻辑,从而执行非预期的操作,如绕过身份验证、获取未授权…...
第6章——HTTP首部
第六章——HTTP首部 HTTP报文结构 都必有报文首部 HTTP请求报文 HTTP响应报文 HTTP首部字段 ###传递重要信息 首部字段结构 首部字段名:字段值(,字段值,字段值) 首部字段类型 通用首部字段 请求首部字…...
多行输入模式(dquote> 提示符)double quote(双引号)
文章目录 1、引号不匹配具体原因解决办法如何避免此问题 2、double quote(双引号)出现原因解决办法预防措施 ~/Downloads/productqualification-develop git:[main] git commit -m "漏添加到暂存区的代码“ dgqdgqdeMac-mini productqualification-…...
【什么是MVCC?】
MVCC(Multi - Version Concurrency Control)即多版本并发控制。 一、背景和概念 在数据库系统中,并发控制是非常重要的。当多个事务同时访问和修改数据时,需要一种机制来确保数据的一致性和正确性。MVCC 是一种并发控制的技术&a…...
HarmonyOS开发:粒子动画应用实战
目录 引言 粒子动画技术概述 关于粒子动画 粒子发射器的实现 设置粒子颜色 关于粒子的生命周期 粒子扰动场的设置 粒子动画的简单实现 最后 引言 做应用开发的小伙伴想必都清楚动画是必备技能,尤其是在移动应用开发中的动画使用频率是非常高的。而粒子动画…...
数据库课设——网上花店销售管理系统(上)
声明:此次课设为本人专业课课设报告内容,仅供参考,不要照搬 1 问题的提出 随着互联网发展与电子商务普及,网上花店兴起,其突破地域限制、提供便捷购物体验且市场呈快速增长趋势。该系统需具备多方面功能以满足花店运营…...
用于AI的 数据存储其获取介绍
用于 AI 的数据存储和获取方法依赖于系统架构、数据类型(结构化、非结构化、时序数据、嵌入向量等)以及使用场景(训练数据存储、实时推断、历史数据分析等)。以下是主要存储方式的分类和简介: 1. 文件存储 介绍&…...
flutter 专题二十四 Flutter性能优化在携程酒店的实践
Flutter性能优化在携程酒店的实践 一 、前言 携程酒店业务使用Flutter技术开发的时间快接近两年,这期间有列表页、详情页、相册页等页面使用了Flutter技术栈进行了跨平台整合,大大提高了研发效率。在开发过程中,也遇到了一些性能相关问题和…...
L28.【LeetCode笔记】移动零(三种解法)
目录 1.题目 2.向前覆盖法 分析 代码 提交结果 3.优解:双指针 代码 提交结果 4.其他不符合题意的方法:使用队列 代码 提交结果 1.题目 https://leetcode.cn/problems/move-zeroes/description/ 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾…...
jenkins入门10--自动化构建
build periodically:设定类似cron周期性时间触发构建 * * * * * (五颗星,中间用空格隔开) 第一颗表示分钟,取值0~59 第二颗表示小时,取值0~23 第三颗表示一个月的第几天,取值1~31 第四颗表示第几月…...
el-table拖拽表格
1、拖拽插件安装 npm i -S vuedraggable // vuedraggable依赖Sortable.js,我们可以直接引入Sortable使用Sortable的特性。 // vuedraggable是Sortable的一种加强,实现组件化的思想,可以结合Vue,使用起来更方便。 2、引入拖拽函数…...
如何轻松反转C# List<T>中的元素顺序
在C#中,有多种方法可以反转 List<T> 的元素顺序。以下是几种常见的方法: 方法一:使用 List<T>.Reverse 方法 List<T> 类提供了一个内置的 Reverse 方法,可以就地反转列表中的元素顺序。 using System; using…...
Transformer中Self-Attention以及Multi-Head Attention模块详解(附pytorch实现)
写在前面 最近在项目中需要使用Transformer模型来处理图像任务,所以稍微补充一下这部分的知识,本篇主要了解一下Self-Attention以及Multi-Head Attention模块。 原论文链接:https://arxiv.org/pdf/1706.03762 原文代码:tensor2…...
在Nvidia Jetson ADX Orin中使用TensorRT-LLM运行llama3-8b
目录 背景:步骤 1.获取模型权重第 2 步:准备第 3 步:构建 TensorRT-LLM 引擎 背景: 大型语言模型 (LLM) 推理的关键瓶颈在于 GPU 内存资源短缺。因此,各种加速框架主要强调减少峰值 GPU 内存使…...
Mysql的行级锁到底是怎么加的?固
1. 架构背景与演进动力 1.1 从单体到碎片化:.NET 的开源征程 在.NET Framework 时代,构建系统主要围绕 Windows 操作系统紧密集成,采用传统的封闭式开发模式。然而,随着.NET Core 的推出,微软开启了彻底的开源与跨平台…...
快速构建精简Windows 11系统:tiny11builder完整使用指南
快速构建精简Windows 11系统:tiny11builder完整使用指南 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 你是否厌倦了臃肿的Windows 11系统࿱…...
医疗器械软件生命周期管理注意事项
医疗器械软件生命周期管理注意事项 医疗器械软件生命周期管理需遵循严格的法规要求和质量控制标准,确保软件的安全性、有效性和合规性。以下是关键注意事项: 法规与标准合规 确保符合所在地区的法规要求,如FDA的21 CFR Part 820(美…...
别再纠结了!用Nuitka一键打包你的Python项目(含PyTorch依赖处理)
深度解析Nuitka:Python项目打包与PyTorch依赖处理实战指南 在Python生态中,项目打包一直是个令人头疼的问题——尤其是当你需要处理像PyTorch这样的复杂依赖时。传统的PyInstaller虽然简单易用,但在处理深度学习框架时常常会遇到各种兼容性问…...
Artisan:从咖啡豆到完美烘焙,掌握专业级烘焙曲线可视化工具
Artisan:从咖啡豆到完美烘焙,掌握专业级烘焙曲线可视化工具 【免费下载链接】artisan artisan: the worlds most trusted roasting software 项目地址: https://gitcode.com/gh_mirrors/ar/artisan 你是否曾经在烘焙咖啡豆时,感觉整个…...
终极指南:如何在Chrome浏览器中免费实现KeePass密码自动填充
终极指南:如何在Chrome浏览器中免费实现KeePass密码自动填充 【免费下载链接】ChromeKeePass Chrome extensions for automatically filling credentials from KeePass/KeeWeb 项目地址: https://gitcode.com/gh_mirrors/ch/ChromeKeePass 你是否厌倦了每次登…...
Artisan烘焙软件:咖啡烘焙师的终极数据可视化与分析平台
Artisan烘焙软件:咖啡烘焙师的终极数据可视化与分析平台 【免费下载链接】artisan artisan: the worlds most trusted roasting software 项目地址: https://gitcode.com/gh_mirrors/ar/artisan 在咖啡烘焙的世界里,精确控制烘焙曲线意味着风味的…...
5步掌握Android设备远程控制:py-scrcpy-client实战指南
5步掌握Android设备远程控制:py-scrcpy-client实战指南 【免费下载链接】py-scrcpy-client 项目地址: https://gitcode.com/gh_mirrors/py/py-scrcpy-client 想要在电脑上实时查看和控制Android设备吗?py-scrcpy-client为你提供了完美的解决方案…...
告别代码复制:用GD32F3x0固件库V2.2.0优雅配置PWM互补输出(Keil MDK环境)
告别代码复制:用GD32F3x0固件库V2.2.0优雅配置PWM互补输出(Keil MDK环境) 在嵌入式开发中,PWM(脉冲宽度调制)技术广泛应用于电机控制、电源管理等领域。对于GD32F3x0系列微控制器,官方提供的固件…...
HTML到Figma智能转换技术:重塑设计开发工作流的核心解决方案
HTML到Figma智能转换技术:重塑设计开发工作流的核心解决方案 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 在数字化产品开发领域,设计稿与代码实现之间的…...
