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));}}

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/782.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SYS_OP_MAP_NONNULL NULL的等值比较

无意在数据库中发现了这个操作SYS_OP_MAP_NONNULL。 SYS_OP_MAP_NONNULL应该不是数据库中的对象&#xff0c;因为在DBA_OBJECTS中根本找不到它&#xff0c;而在STANDARD和DBMS_STANDARD包中也找不到函数说明。 SQL> SELECT * 2 FROM DBA_OBJECTS 3 WHERE OBJECT_NAME…

C语言---函数和数组实践:扫雷游戏

函数和数组实践&#xff1a;扫雷游戏 在这次的实践项目中&#xff0c;需要编写一个可以在在控制台运行的经典的扫雷游戏。 一、游戏要求 游戏有菜单&#xff0c;可以通过菜单实现继续玩或者退出游戏游戏要求棋盘9*9&#xff0c;雷&#xff08;10个&#xff09;要求随机布置可…

Web开发中页面出现乱码的解决(Java Web学习笔记:需在编译时用 -encoding utf-8)

目录 1 引言2 乱码表现、原因分析及解决2.1 乱码表现2.2 原因分析2.3 解决 3 总结 1 引言 Web开发的页面出现了乱码&#xff0c;一直不愿写出来&#xff0c;因为网上的解决方案太多了。但本文的所说的页面乱码问题&#xff0c;则是与网上的大多数解决方案不一样&#xff0c;使…

HarmonyOS:@LocalBuilder装饰器: 维持组件父子关系

一、前言 当开发者使用Builder做引用数据传递时&#xff0c;会考虑组件的父子关系&#xff0c;使用了bind(this)之后&#xff0c;组件的父子关系和状态管理的父子关系并不一致。为了解决组件的父子关系和状态管理的父子关系保持一致的问题&#xff0c;引入LocalBuilder装饰器。…

初学stm32 --- DAC输出三角波和正弦波

输出三角波实验简要&#xff1a; 1&#xff0c;功能描述 通过DAC1通道1(PA4)输出三角波&#xff0c;然后通过DS100示波器查看波形 2&#xff0c;关闭通道1触发(即自动) TEN1位置0 3&#xff0c;关闭输出缓冲 BOFF1位置1 4&#xff0c;使用12位右对齐模式 将数字量写入DAC_…

【opencv】第7章 图像变换

7.1 基 于OpenCV 的 边 缘 检 测 本节中&#xff0c;我们将一起学习OpenCV 中边缘检测的各种算子和滤波器——Canny 算子、Sobel 算 子 、Laplacian 算子以及Scharr 滤波器。 7.1.1 边缘检测的一般步骤 在具体介绍之前&#xff0c;先来一起看看边缘检测的一般步骤。 1.【第…

【Python】Python与C的区别

文章目录 语句结束符代码块表示变量声明函数定义注释格式Python的标识符数据输入input()函数数据输出print()函数 语句结束符 C 语言 C 语言中每条语句必须以分号;结束。例如&#xff0c;int a 10;、printf("Hello, World!");。分号是语句的一部分&#xff0c;用于…

web-app uniapp监测屏幕大小的变化对数组一行展示数据作相应处理

web-app uniapp监测屏幕大小的变化对数组一行展示数据作相应处理 1.uni.getSystemInfoSync().screenWidth; 获取屏幕宽度 2.uni.onWindowResize&#xff08;&#xff09; 实时监测屏幕宽度变化 3.根据宽度的大小拿到每行要展示的数量itemsPerRow 4.为了确保样式能够根据 items…

Idea-离线安装SonarLint插件地址

地址&#xff1a; SonarQube for IDE - IntelliJ IDEs Plugin | Marketplace 选择Install Plugin from Disk..&#xff0c;选中下载好的插件&#xff0c;然后重启idea

数据结构与算法之二叉树: LeetCode 637. 二叉树的层平均值 (Ts版)

二叉树的层平均值 https://leetcode.cn/problems/average-of-levels-in-binary-tree/description/ 描述 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值与实际答案相差 1 0 − 5 10^{-5} 10−5 以内的答案可以被接受 示例 1 输入&#xff1a;root…

MySQL表的增删改查(基础)-下篇

修改 真正在改硬盘了&#xff0c;这样的修改是“持久有效”。一定要确保&#xff0c;update的修改是改对了&#xff0c;改出问题来就麻烦。指定update的时候&#xff0c;如果当前不指定任何条件&#xff0c;就会针对所有的行都能生效&#xff01; (把整个表都给改了)。 案例 --…

项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(五)

文章目录 一、学生管理模块功能实现1、添加学生功能实现1.1 页面设计1.2 前端功能实现1.3 后端功能实现1.4 效果展示2、学生管理功能实现2.1 页面设计2.2 前端功能实现2.3 后端功能实现2.3.1 后端查询接口实现2.3.2 后端编辑接口实现2.3.3 后端删除接口实现2.4 效果展示二、代码…

使用 WPF 和 C# 绘制图形

绘图困难 此示例展示了如何在 WPF 和 C# 中绘制图形。绘制图形总是很棘手&#xff0c;因为您通常需要在至少两个不同的坐标系中工作。首先&#xff0c;您要为图形使用世界坐标。例如&#xff0c;您可能希望 X 值的范围为 2000 年至 2020 年&#xff0c;Y 值的范围为 10,000 美元…

3D滤波器处理遥感tif图像

import cv2 import numpy as np from osgeo import gdal# 定义 Gabor 滤波器的参数 kSize 31 # 滤波器核的大小 g_sigma 3.0 # 高斯包络的标准差 g_theta np.pi / 4 # Gabor 函数的方向 g_lambda 10.0 # 正弦波的波长 g_gamma 0.5 # 空间纵横比 g_psi np.pi / 2 # …

JuiceFS 2024:开源与商业并进,迈向 AI 原生时代

即将过去的 2024 年&#xff0c;是 JuiceFS 开源版本推出的第 4 年&#xff0c;企业版的第 8 个年头。回顾过去这一年&#xff0c;JuiceFS 社区版依旧保持着快速成长的势头&#xff0c;GitHub 星标突破 11.1K&#xff0c;各项使用指标增长均超过 100%&#xff0c;其中文件系统总…

高可用虚拟IP-keepalived

个人觉得华为云这个文档十分详细&#xff1a;使用虚拟IP和Keepalived搭建高可用Web集群_弹性云服务器 ECS_华为云 应用场景&#xff1a;虚拟IP技术。虚拟IP&#xff0c;就是一个未分配给真实主机的IP&#xff0c;也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个…

支付宝租赁小程序提升租赁行业效率与用户体验

内容概要 在当今数字化的世界里&#xff0c;支付宝租赁小程序的出现构建了一种新的租赁模式&#xff0c;使得用户在使用过程中体验更加流畅。想象一下&#xff0c;你在寻找租赁服务时&#xff0c;不再需要繁琐的流程和冗长的等待&#xff0c;只需通过手机轻松点击几下&#xf…

python异常机制

异常是什么&#xff1f; 软件程序在运行过程中&#xff0c;非常可能遇到刚刚提到的这些问题&#xff0c;我们称之为异常&#xff0c;英文是Exception&#xff0c;意思是例外。遇到这些例外情况&#xff0c;或者交异常&#xff0c;我们怎么让写的程序做出合理的处理&#xff0c…

Git撤销指定commit并更新远端仓库

Git撤销指定commit并更新远端仓库 一、撤销指定commit 1.首先执行git log 命令&#xff0c;查看git历史提交以及commit信息&#xff1a; 由于需要脱敏&#xff0c;所以截图可能看得马赛克比较多&#xff0c;需要关注的就是上面的commit后跟的id&#xff0c;以及HEAD当前指定…

【opencv】第8章 图像轮廓与图像分割修复

8.1 查找并绘制轮廓 一个轮廓一般对应一系列的点&#xff0c;也就是图像中的一条曲线。其表示方法可能 根据不同的情况而有所不同。在OpenCV 中&#xff0c;可以用findContours()函数从二值图 像中查找轮廓 8.1.1 寻找轮廓&#xff1a; findContours() 函数 findContours) 函…