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

springboot使用Easy Excel导出列表数据为Excel

springboot使用Easy Excel导出列表数据为Excel

Easy Excel官网:https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write
主要记录一下引入时候的pom,直接引入会依赖冲突

解决方法:

<!-- 引入Easy Excel的依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel-core</artifactId><version>3.2.1</version><exclusions><exclusion><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId></exclusion><exclusion><groupId>org.apache.poi</groupId><artifactId>poi</artifactId></exclusion><exclusion><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.16</version></dependency>

实体:

package com.geofly.dataservicecenter.api.vo.ybtq;import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;/*** @Description: 【工作量统计】-作业员工作量-列表返回vo** @Auther: yanghaoxing* @Date: 2025/1/8*/
@Getter
@Setter
@ApiModel("【工作量统计】-作业员工作量-列表返回vo")
@EqualsAndHashCode
public class YbStatisticsOperatorVo {@ExcelIgnore@ApiModelProperty("子任务主键")@TableId("pk_id")private String pkId;@ExcelIgnore@ApiModelProperty("任务ID")@TableField("fk_task_id")private String fkTaskId;@ExcelProperty("作业员Id")@ApiModelProperty("作业员Id")@ColumnWidth(35)@TableField("operator_id")private String operatorId;@ExcelIgnore@ApiModelProperty("行政区代码")@TableField("region_code")private String regionCode;@ExcelProperty("行政区名称")@ApiModelProperty("行政区名称")@TableField("region_name")private String regionName;@ExcelProperty("年度")@ApiModelProperty("后时相-年度")@TableField("after_year")private Integer afterYear;@ExcelProperty("季度")@ApiModelProperty("后时相-季度")@TableField("after_quarter")private Integer afterQuarter;@ExcelProperty("项目类型ID")@ApiModelProperty("项目类型ID(外键)")@ColumnWidth(35)@TableField("task_type")private String taskType;@ExcelProperty("项目负责人")@ApiModelProperty("项目负责人")@ColumnWidth(35)@TableField("leader")private String leader;@ExcelIgnore@ApiModelProperty("创建时间(开始时间)")@TableField("create_time")@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")private Date createTime;@ExcelIgnore@ApiModelProperty("更新时间(结束时间)")@TableField("update_time")@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")private Date updateTime;@ExcelProperty("状态")@ApiModelProperty("状态:0表示未完成,1表示已完成")@TableField("status")private int status;@ExcelProperty("工作区面积")@ApiModelProperty("工作区面积")private String workerArea;@ExcelProperty("指引图斑数量")@ApiModelProperty("指引图斑数量")@TableField("zy_count")private int zyCount;@ExcelProperty("图斑数量")@ApiModelProperty("提取图斑数量")@TableField("ysbhtb_count")private Integer ysbhtbCount;@ExcelProperty("一检员")@ApiModelProperty("一检质检员")@TableField("first_quality_inspector")private String firstQualityInspector;@ExcelProperty("合格率")@ApiModelProperty("一检合格率合,0~100")private int firstInspectionRate;@ExcelProperty("二检员")@ApiModelProperty("二检质检员")@TableField("second_quality_inspector")private String secondQualityInspector;@ExcelProperty("合格率")@ApiModelProperty("二检合格率合,0~100")private int secondInspectionRate;@ExcelProperty("成果质量")@ApiModelProperty("成果质量,-1:不通过,0未质检,1:合格,2:良好,3:优秀")@TableField("inspection_result")private int inspectionResult;}

java:

@ApiOperation(value = "【工作量统计】-作业员工作量-导出", notes = "export", produces = "application/octet-stream")@PostMapping("/statistics-operator-download")@OpLog("【样本集管理】-样本集导出")public void statisticsOperatorDownload(@RequestBody YbStatisticsOperatorParams params, HttpServletResponse response) throws Exception {// 设置分页参数,确保获取所有数据BasePage page = new BasePage();page.setPageNo(1);page.setPageSize(999999);params.setPage(page);// 根据参数获取所有作业员工作量数据IPage<YbStatisticsOperatorVo> allList = ybStatisticsOperator(params);// 设置响应头,指定文件为 Excel 文件response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");String fileName = "作业员工作量统计.xlsx";response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));// 使用 EasyExcel 导出数据try {EasyExcel.write(response.getOutputStream(), YbStatisticsOperatorVo.class).sheet("作业员工作量").doWrite(allList.getRecords());} catch (Exception e) {e.printStackTrace();response.setContentType("application/json;charset=utf-8");response.getOutputStream().write(JSONUtil.toJsonStr(Result.error("导出失败!")).getBytes(StandardCharsets.UTF_8));}}

在这里插入图片描述
在这里插入图片描述

目前是测试导出,数据还没格式化

相关文章:

springboot使用Easy Excel导出列表数据为Excel

springboot使用Easy Excel导出列表数据为Excel Easy Excel官网&#xff1a;https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write 主要记录一下引入时候的pom&#xff0c;直接引入会依赖冲突 解决方法&#xff1a; <!-- 引入Easy Excel的依赖 -->&l…...

day07_Spark SQL

文章目录 day07_Spark SQL课程笔记一、今日课程内容二、Spark SQL函数定义&#xff08;掌握&#xff09;1、窗口函数2、自定义函数背景2.1 回顾函数分类标准:SQL最开始是_内置函数&自定义函数_两种 2.2 自定义函数背景 3、Spark原生自定义UDF函数3.1 自定义函数流程&#x…...

高性能现代PHP全栈框架 Spiral

概述 Spiral Framework 诞生于现实世界的软件开发项目是一个现代 PHP 框架&#xff0c;旨在为更快、更清洁、更卓越的软件开发提供动力。 特性 高性能 由于其设计以及复杂精密的应用服务器&#xff0c;Spiral Framework框架在不影响代码质量以及与常用库的兼容性的情况下&a…...

LeetCode - #182 Swift 实现找出重复的电子邮件

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

《解锁鸿蒙Next系统人工智能语音助手开发的关键步骤》

在当今数字化时代&#xff0c;鸿蒙Next系统与人工智能的融合为开发者带来了前所未有的机遇&#xff0c;开发一款人工智能语音助手应用更是备受关注。以下是在鸿蒙Next系统上开发人工智能语音助手应用的关键步骤&#xff1a; 环境搭建与权限申请 安装开发工具&#xff1a;首先需…...

【Linux网络编程】数据链路层 | MAC帧 | ARP协议

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 &#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系…...

《自动驾驶与机器人中的SLAM技术》ch7:基于 ESKF 的松耦合 LIO 系统

目录 基于 ESKF 的松耦合 LIO 系统 1 坐标系说明 2 松耦合 LIO 系统的运动和观测方程 3 松耦合 LIO 系统的数据准备 3.1 CloudConvert 类 3.2 MessageSync 类 4 松耦合 LIO 系统的主要流程 4.1 IMU 静止初始化 4.2 ESKF 之 运动过程——使用 IMU 预测 4.3 使用 IMU 预测位姿进…...

基于spingbott+html+Thymeleaf的24小时智能服务器监控平台设计与实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…...

全栈面试(一)Basic/微服务

文章目录 项目地址一、Basic InterviewQuestions1. tell me about yourself?2. tell me about a time when you had to solve a complex code problem?3. tell me a situation that you persuade someone at work?4. tell me a about a confict with a teammate and how you…...

python安装完成后可以进行的后续步骤和注意事项

安装Python3完成后&#xff0c;你可以开始使用它进行编程和开发。以下是一些安装完成后可以进行的后续步骤和注意事项&#xff1a; 验证安装 检查Python版本&#xff1a; 打开“终端”应用程序。输入python3 --version&#xff0c;应该显示安装的Python3版本号。 检查pip版本…...

[Qt] 窗口 | 菜单栏MenuBar

目录 QMainWindow 概述 一、菜单栏 1、创建菜单栏 2、在菜单栏中添加菜单 3、创建菜单项 4、在菜单项之间添加分割线 5、添加快捷键 6、添加子菜单 7、添加图标 综合示例 QMainWindow 概述 Qt 窗口是通过 QMainWindow 类来实现的。 QMainWindow 是一个为用户 提供主…...

[读书日志]从零开始学习Chisel 第十三篇:Scala的隐式参数与隐式转换(敏捷硬件开发语言Chisel与数字系统设计)

10. 隐式转换与隐式参数 假设编写了一个向量类MyVector&#xff0c;并且包含一些向量的基本操作。因为向量可以与标量做数乘运算&#xff0c;所以需要一个计算数乘的方法“*”&#xff0c;它应该接收一个类型为基本值类的参数&#xff0c;在向量对象myVec调用该方法时&#xf…...

CMake学习笔记(1)

1. CMake概述 CMake 是一个项目构建工具&#xff0c;并且是跨平台的。关于项目构建我们所熟知的还有Makefile&#xff08;通过 make 命令进行项目的构建&#xff09;&#xff0c;大多是IDE软件都集成了make&#xff0c;比如&#xff1a;VS 的 nmake、linux 下的 GNU make、Qt …...

cursor+deepseek构建自己的AI编程助手

文章目录 准备工作在Cursor中添加deepseek 准备工作 下载安装Cursor &#xff08;默认安装在C盘&#xff09; 注册deepseek获取API key 在Cursor中添加deepseek 1、打开cursor&#xff0c;选择设置 选择Model&#xff0c;添加deepseek-chat 注意这里去掉其他的勾选项&…...

Kotlin实现DataBinding结合ViewModel的时候,提示找不到Unresolved reference: BR解决方案

在用Kotlin语言实现DataBinding结合ViewModel的代码的时候&#xff0c;如下所示&#xff1a; class UserModel(private val userName: String, private val userAge: Int) : BaseObservable() {get:Bindablevar name: String userNameset (value) {field valuenotifyPropert…...

java项目启动时,执行某方法

1. J2EE项目 在Servlet类中重写init()方法&#xff0c;这个方法会在Servlet实例化时调用&#xff0c;即项目启动时调用。 import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;public class MyServlet extends HttpServlet {Overridepublic void …...

详解如何自定义 Android Dex VMP 保护壳

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 前言 Android Dex VMP&#xff08;Virtual Machine Protection&#xff0c;虚拟机保护&#xff09;壳是一种常见的应用保护技术&#xff0c;主要用于保护 And…...

Grails应用http.server.requests指标数据采集问题排查及解决

问题 遇到的问题&#xff1a;同一个应用&#xff0c;Spring Boot(Java)和Grails(Groovy)混合编程&#xff0c;常规的Spring Controller&#xff0c;可通过Micromete Pushgateway&#xff0c; 采集到http.server.requests指标数据&#xff0c;注意下面的指标名称是点号&#…...

开源临床试验软件OpenClinica的安装

本文是为帮网友 A萤火虫 解决安装问题做的记录&#xff1b; 简介 什么是 OpenClinica &#xff1f; OpenClinica 是世界上第一个商业开源临床试验软件&#xff0c;主要用于电子数据捕获&#xff08;EDC&#xff09;和临床数据管理&#xff08;CDM&#xff09;。它的设计旨在优…...

网络安全 | 网络安全法规:GDPR、CCPA与中国网络安全法

网络安全 | 网络安全法规&#xff1a;GDPR、CCPA与中国网络安全法 一、前言二、欧盟《通用数据保护条例》&#xff08;GDPR&#xff09;2.1 背景2.2 主要内容2.3 特点2.4 实施效果与影响 三、美国《加利福尼亚州消费者隐私法案》&#xff08;CCPA&#xff09;3.1 背景3.2 主要内…...

第3课 神经网络基础

神经网络,本质上是模仿生物神经元网络构建的人工模型,由人工神经元(或节点)相互连接形成网络或电路。这些节点间的连接的方式与人类神经元网络相似,能够高效传递并处理输入信息,是深度学习领域的核心基础。 神经网络的核心结构由输入层、隐含层和输出层三部分组成:每个节…...

告别网络依赖:下载、切片、集成,三步构建你的专属高德离线地图库

构建企业级高德离线地图资产库&#xff1a;从瓦片管理到前端集成的工程化实践 在政务、军工、能源等对数据安全性要求极高的领域&#xff0c;或是偏远地区网络条件受限的场景&#xff0c;在线地图服务往往成为系统可靠性的短板。我曾参与某省级政务内网项目的架构设计&#xff…...

高品质订单车后台管理系统,支持excel订单导入功能,实现全面的管理功能,打造智能化管理系统

订单车后台管理系统&#xff0c;自己开发的&#xff0c;基本功能齐全&#xff0c;支持excel订单导入功能&#xff0c;最近在折腾一个自己用的订单车后台管理系统&#xff0c;核心功能基本跑通了。最让我得意的其实是Excel导入功能——这玩意儿看起来简单&#xff0c;实际处理起…...

DENSO电装机器人软件授权序列号 wincaps3软件授权和软件安装包及软件手册

DENSO电装机器人软件授权序列号 wincaps3软件授权和软件安装包及软件手册 永久使用序列号 给机器人工程师的WinCaps3安装避坑指南 最近在调试DENSO机械臂的时候&#xff0c;发现不少同行在WinCaps3的安装和授权环节翻车。今天就结合自己的踩坑经验&#xff0c;聊聊怎么搞定这个…...

突破暗黑破坏神2单机限制:PlugY全方位增强工具深度指南

突破暗黑破坏神2单机限制&#xff1a;PlugY全方位增强工具深度指南 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 暗黑破坏神2作为ARPG游戏的经典之作&#xff0c;其…...

如何为Windows系统安装macOS风格的高清光标主题包

如何为Windows系统安装macOS风格的高清光标主题包 【免费下载链接】macOS-cursors-for-Windows Tested in Windows 10 & 11, 4K (125%, 150%, 200%). With 2 versions, 2 types and 3 different sizes! 项目地址: https://gitcode.com/gh_mirrors/ma/macOS-cursors-for-W…...

实战指南:基于快马平台构建企业级openclaw启动框架,涵盖多任务与监控

实战指南&#xff1a;基于快马平台构建企业级openclaw启动框架&#xff0c;涵盖多任务与监控 在实际项目中&#xff0c;openclaw作为一款强大的数据抓取工具&#xff0c;其启动过程往往需要适配复杂的业务场景。传统的单任务启动方式已经无法满足企业级需求&#xff0c;我们需…...

解锁高效操作:5款菜单栏管理工具的深度评测与场景适配指南

解锁高效操作&#xff1a;5款菜单栏管理工具的深度评测与场景适配指南 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice macOS菜单栏作为系统交互的核心界面&#xff0c;随着应用增多常陷入混乱&#…...

手机检测落地标准化:实时手机检测-通用模型企业级部署Checklist

手机检测落地标准化&#xff1a;实时手机检测-通用模型企业级部署Checklist 1. 引言&#xff1a;为什么企业需要标准化的手机检测方案&#xff1f; 想象一下&#xff0c;你是一家大型电子产品质检工厂的负责人。每天&#xff0c;成千上万的手机从流水线上经过&#xff0c;需要…...

实战应用开发:基于快马平台构建带监控和定时任务的c盘管理大师

今天想和大家分享一个非常实用的项目开发经验——如何用Python快速打造一个功能完备的C盘管理工具。作为一个经常被C盘爆满困扰的程序员&#xff0c;我决定把这个痛点转化为一个完整的桌面应用解决方案。 项目需求分析 首先明确核心需求&#xff1a;我们需要一个能实时监控C盘空…...