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

导出列表数据到Excel并下载

Java导出查询到的数据列表为Excel并下载

1.背景

工作中经常有需求,需要把列表的数据导出为Excel并下载。EasyExcel工具可以很好的实现这一需求。

2.实现流程

1.引入EasyExcel依赖包

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</version>
</dependency>

2.创建实体VO,添加需要导出的字段并添加注释(根据自己需求创建)

public class UserExcelVo {@ExcelProperty(value = "用户Id")private String userId;@ExcelProperty(value = "用户名称")private String userName;@ExcelProperty(value = "操作时间")private String createTime;
}

3.数据库中查到的实体列表转换成VoList

如果字段有需要特殊处理的,需要调用set方法单独设置。

List<UserExcelVo > userExcelVos = new ArrayList<>();
for (User user : list) {UserExcelVo userExcelVo = new UserExcelVo();BeanUtils.copyProperties(user,userExcelVo);userExcelVos.add(userExcelVo);
}

4.使用EasyExcel工具导出数据

public void export(List<UserExcelVo > userExcelVos ,HttpServletResponse response){String fileName = "用户记录.xlsx";try {response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "utf-8"));OutputStream outputStream =response.getOutputStream();EasyExcel.write(outputStream,UserExcelVo.class).sheet("用户记录").doWrite(userExcelVos);}catch (Exception e){log.error("导出用户记录失败,原因: {}",e.getMessage());throw new ServiceException("导出用户记录数据失败");}}

Controller层和业务层逻辑按自己需求完善,有更好的方法欢迎分享。

相关文章:

导出列表数据到Excel并下载

Java导出查询到的数据列表为Excel并下载 1.背景 工作中经常有需求&#xff0c;需要把列表的数据导出为Excel并下载。EasyExcel工具可以很好的实现这一需求。 2.实现流程 1.引入EasyExcel依赖包 <dependency><groupId>com.alibaba</groupId><artifactId…...

基于NVIDIA NIM平台实现盲人过马路的demo(一)

前言:利用NVIDIA NIM平台提供的大模型进行编辑,通过llama-3.2-90b-vision-instruct模型进行初步的图片检测 step1: 部署大模型到本地,引用所需要的库 import os import requests import base64 import cv2 import time from datetime import datetimestep2: 观看官方使用文…...

美格智能5G车规级通信模组:以连接+算力驱动智能化进阶

2023年3月&#xff0c;基于高通公司第二代骁龙汽车5G调制解调器及射频系统平台SA522M/SA525M&#xff0c;美格智能在德国纽伦堡嵌入式系统展上正式发布全新一代5G车规级C-V2X通信模组MA922系列&#xff0c;迅速引起行业和市场关注。随着5G高速网联逐步成为智能汽车标配&#xf…...

[MRCTF2020]PYWebsite1

如果输入的密钥是对的那么我们就直接跳转到flag.php页面 那么我们直接访问&#x1f60e;&#xff0c;他不带我们去我们自己去. 那就用XFF呗. 知识点&#xff1a; 定义&#xff1a;X-Forwarded-For是一个HTTP请求头字段&#xff0c;用于识别通过HTTP代理或负载均衡方式连接到W…...

无源元器件-磁珠选型参数总结

🏡《总目录》 目录 1,概述2,磁珠选型参数2.1,电学参数2.1.3,阻抗(Impedance)2.1.2,额定电流(Rated Current)2.1.3,直流电阻(DC Resistance)2.2,机械性能参数2.2.1,外观和尺寸(Appearance and Dimensions)2.2.2,粘接强度( Bonding Strength)2.2.3,弯曲强度…...

宝顶白芽,慢生活的味觉盛宴

在快节奏的生活中&#xff0c;人们愈发向往那种悠然自得、返璞归真的生活方式。白茶&#xff0c;以其独特的韵味和清雅的风格&#xff0c;成为了现代人追求心灵宁静与生活品质的象征。而在众多白茶之中&#xff0c;竹叶青茶业出品的宝顶白芽以其甘甜醇爽的特质&#xff0c;成为…...

已知三角形三边长求面积用仓颉语言作答

仓颉语言 https://cangjie-lang.cn/ linux和win和mac均有sdk&#xff0c;在本机deepinlinuxv23下载到本地解压缩到目录下设置环境变量 source envsetup.sh 比java方便太多了&#xff0c;java每次都是要自己搞很久&#xff0c;当然&#xff0c;打开看一下envsertup.sh,和我们…...

【JavaScript】匿名函数及回调函数总结

JavaScript 匿名函数 匿名函数没有显式的名称, 被视为一个函数表达式&#xff0c;可以在不需要额外命名的情况下进行定义和使用, 通常被用作回调函数, 即将函数作为参数传递给其他函数。 回调函数是在特定事件或条件发生时被调用的函数&#xff0c;回调函数通常用于异步编程中…...

HTML鼠标移动的波浪线动画——页面将会初始化一个Canvas元素,并使用JavaScript代码在Canvas上绘制响应鼠标移动的波浪线动画

代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Wave Animation</title><style&…...

树莓派开发相关知识八-其他传感器

1、蜂鸣器 #!/usr/bin/env python #coding:utf-8import RPi.GPIO as GPIO import time OUT5 def init():GPIO.setwarnings(False)GPIO.setmode(GPIO.BCM)GPIO.setup(OUT,GPIO.OUT)#蜂鸣器鸣叫函数 def beep(seconds):GPIO.output(OUT,GPIO.HIGH)time.sleep(seconds)GPIO.output…...

ComfyUI - ComfyUI 工作流中集成 SAM2 + GroundingDINO 处理图像与视频 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/143359538 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 SAM2 与…...

STM32G4 双ADC模式之常规同步模式独立注入模式

目录 概述 1 认识双ADC模式 2 功能实现 2.1 原理介绍 2.2 实现方法 概述 本文主要介绍STM32G4 双ADC模式之常规同步模式&独立注入模式相关内容&#xff0c;包括ADC模块的功能介绍&#xff0c;实现框架结构&#xff0c;以及常规同步模式&独立注入模式ADC的转换的实…...

深入理解网络协议:OSPF、VLAN、NAT与ACL详解

OSPF工作过程与基础配置 一、OSPF的工作过程 OSPF&#xff08;开放最短路径优先&#xff09;是一个广泛使用的路由协议&#xff0c;它的工作过程可以总结为以下几个步骤&#xff1a; 启动与邻居发现 OSPF在配置完成后&#xff0c;会通过本地组播地址224.0.0.5发送HELLO包。HE…...

idea 配置tomcat 服务

选择tomcat的安装路径 选到bin的文件夹的上一层就行...

.net core 接口,动态接收各类型请求的参数

[HttpPost] public async Task<IActionResult> testpost([FromForm] object info) { //Postman工具测试结果&#xff1a; //FromBody,Postman的body只有rawjson时才进的来 //参数为空时&#xff0c;Body(form-data、x-www-form-urlencoded)解析到的数据也有所…...

关注!这些型号SSD有Windows蓝屏问题需要修复

近期&#xff0c;在闪迪官方有一个SSD FW升级提醒&#xff0c;主要是为了解决Windows 11 24H2系统蓝屏的问题&#xff1a; Fix问题&#xff1a;这些SSD的主机内存缓冲区&#xff08;Host Memory Buffer&#xff0c;简称HMB&#xff09;功能可能会导致系统出现蓝屏死机&#xff…...

go语言gin框架平滑关闭——思悟项目技术2

目录 前言 直接关闭的缺陷 平滑关闭的使用场景 例子 思悟项目&#xff1a; golang qq邮件发送验证码——思悟项目技术1 前言 平滑关闭&#xff08;graceful shutdown&#xff09;是指在停止服务时&#xff0c;能够让现有的连接、任务或者操作优雅地完成&#xff0c;而不是…...

K8S flannel网络模式对比

K8S flannel网络模式对比 VXLAN 模式Host-GW 模式如何查看 Flannel 的网络模式?如何修改 Flannel 的网络模式?如何修改flannel vxlan端口?Flannel 是一个 Kubernetes 中常用的网络插件,用于在集群中的节点之间提供网络连接。Flannel 提供了多种后端实现方式,vxlan 和 host…...

Vue前端框架:Vue前端项目文件目录

文章目录 package.json 文件node_modulessrc&#xff08;Source Code 的缩写&#xff09;文件夹主要子文件夹及内容 publicdist package.json 文件 所在文件夹&#xff08;通常是项目根目录&#xff09; 虽然 package.json 本身不是一个文件夹&#xff0c;但它所在的文件夹&a…...

git回滚到指定的提交

如果你想回滚到特定的提交&#xff08;例如 aa0ca72c&#xff09;&#xff0c;并且丢弃之后的所有更改&#xff0c;可以使用 git reset 命令。请注意&#xff0c;git reset 会改变你的提交历史&#xff0c;所以在多人协作项目中应谨慎使用。如果已经推送到远程仓库&#xff0c;…...

pk3DS完全指南:解锁宝可梦3DS游戏的无限可能

pk3DS完全指南&#xff1a;解锁宝可梦3DS游戏的无限可能 【免费下载链接】pk3DS Pokmon (3DS) ROM Editor & Randomizer 项目地址: https://gitcode.com/gh_mirrors/pk/pk3DS 你是否已经厌倦了千篇一律的宝可梦冒险&#xff1f;每次遇到的野生宝可梦都相同&#xff…...

宝藏分享!实用AI写教材工具,快速产出低查重专业教材!

AI写教材工具&#xff1a;提升创作效率的利器 在撰写教材的过程中&#xff0c;总会遇到一种令人沮丧的“慢节奏”。尽管框架与资料已经准备就绪&#xff0c;内容创作却常常陷入困境&#xff1a;一句话反复推敲数十分钟&#xff0c;还是觉得表达不够完美&#xff1b;章节间的衔…...

gorilla/sessions深度解析:Cookie与文件系统存储实战

gorilla/sessions深度解析&#xff1a;Cookie与文件系统存储实战 【免费下载链接】sessions Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends. 项目地址: https://gitcode.com/gh_mirrors/se/sessions …...

掌握AI落地三件套:微调、Agent、部署,让你薪资直冲20K+!

文章核心内容是介绍AI行业高薪技能&#xff0c;即掌握大模型落地的“三件套”&#xff1a;微调、Agent、部署。微调是将通用模型变为专属专家的关键&#xff0c;Agent开发让模型能自动解决问题&#xff0c;部署则是基础但重要的能力。文章还强调了传统AI基础的重要性&#xff0…...

3个关键步骤:快速搭建Arduino ESP32开发环境的终极指南

3个关键步骤&#xff1a;快速搭建Arduino ESP32开发环境的终极指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 想要开始ESP32物联网开发却卡在环境配置上&#xff1f;作为Arduino生态…...

5步构建适合你的Yuzu版本管理系统:写给模拟器玩家的效率指南

5步构建适合你的Yuzu版本管理系统&#xff1a;写给模拟器玩家的效率指南 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 还在为Yuzu模拟器版本选择而困惑&#xff1f;为什么新游戏在最新版模拟器上反而卡顿&#x…...

海康MVS安装注意事项

⒈目的 掌握海康MVS相机配置软件安装技巧&#xff0c;以便在MvCameraControlNet的演示案例运行时不报错&#xff08;通常为找不到MvCameraControl.dll&#xff09;&#xff0c;问题为MVS安装时无法对安装环境进行配置。 ⒉安装资源 在海康机器人官网上&#xff1a;海康机器人…...

RexUniNLU GPU算力适配:A10/A100/T4多卡并行推理配置与吞吐量实测

RexUniNLU GPU算力适配&#xff1a;A10/A100/T4多卡并行推理配置与吞吐量实测 1. 引言&#xff1a;当零样本NLU遇上GPU加速 想象一下&#xff0c;你有一个能听懂人话的智能助手。你告诉它“帮我订一张明天下午去上海的机票”&#xff0c;它不仅能明白你想订票&#xff0c;还能…...

猫抓资源嗅探扩展:5大核心功能彻底解析网络媒体捕获技术

猫抓资源嗅探扩展&#xff1a;5大核心功能彻底解析网络媒体捕获技术 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓&#xff08;Cat-Catch&#xff09;是一款开源免费的浏览器资源嗅探扩展&…...

【Python 教程】如何将 JSON 数据转换为 Excel 工作表

pagehelper整合 引入依赖com.github.pagehelperpagehelper-spring-boot-starter2.1.0compile编写代码 GetMapping("/list/{pageNo}") public PageInfo findAll(PathVariable int pageNo) {// 设置当前页码和每页显示的条数PageHelper.startPage(pageNo, 10);// 查询数…...