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

Easypoi实现导出Excel(简单高效)

今天做报表导出,网上找了很多导出的方法,最后总结发现以下方法是最简便,更易维护的导出方法,下面来分享给大家。

1、首先引入相关依赖

        <!--EasyPoi 报表--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.4.0</version></dependency>

2、导出实体映射类

@Data
public class StudentReportResponse implements Serializable {@Excel(name = "性别", width = 12)private String gender;@Excel(name = "姓名", width = 15)private String name;
}

3、Controller层代码

    @GetMapping("/exportReport")@ApiOperation("导出学生报表")public void export(ModelMap map, HttpServletResponse response, HttpServletRequest request){try {List<StudentReportResponse> studentReportData = new ArrayList<>();StudentReportResponse student = new StudentReportResponse();student.setGender("男");student.setName("测试用户");studentReportData.add(student);ExportParams params = new ExportParams("学生报表", "学生报表", ExcelType.HSSF);map.put(NormalExcelConstants.DATA_LIST, studentReportData);map.put(NormalExcelConstants.CLASS, StudentReportResponse.class);map.put(NormalExcelConstants.PARAMS, params);map.put(NormalExcelConstants.FILE_NAME, "学生报表");PoiBaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);} catch (Exception e) {logger.error("导出学生报表报错:", e);}}

怎么样,是不是很简洁,可读性很高 ღ( ´・ᴗ・` )

相关文章:

Easypoi实现导出Excel(简单高效)

今天做报表导出&#xff0c;网上找了很多导出的方法&#xff0c;最后总结发现以下方法是最简便&#xff0c;更易维护的导出方法&#xff0c;下面来分享给大家。 1、首先引入相关依赖 <!--EasyPoi 报表--><dependency><groupId>cn.afterturn</groupId>…...

python之pathlib库使用介绍

pathlib 是 Python 标准库中用于处理文件路径的模块。它提供了一种面向对象的方式来操作文件和目录路径&#xff0c;简化了路径操作的编码和跨平台的兼容性。下面是 pathlib 库的基本介绍和使用方法&#xff1a; 1.导入 pathlib 模块 from pathlib import Path 2.创建路径对…...

Java:设计模式

文章目录 参考简介工厂模式简单工厂模式工厂方法模式抽象工厂模式总结 单例模式预加载懒加载线程安全问题 策略模式 参考 知乎 简介 总体来说设计模式分为三类共23种。 创建型模式&#xff0c;共五种&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模…...

【链表】Leetcode 19. 删除链表的倒数第 N 个结点【中等】

删除链表的倒数第 N 个结点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 解题思路 1、使用快慢指针找到要删除节点的前一个节点。2、删…...

亚马逊认证考试系列 - 知识点 - 安全组简介

AWS安全组是一种虚拟防火墙&#xff0c;用于控制实例进出网络流量。安全组是一个实例级别的防火墙&#xff0c;可以定义哪些流量可以进入或离开特定的EC2实例。 功能&#xff1a;安全组可以用于限制特定类型的流量&#xff0c;如HTTP或SSH&#xff0c;允许特定IP地址范围的流量…...

同向双指针合集(力扣)

283. 移动零 代码 class Solution { public:void moveZeroes(vector<int>& nums) {int n nums.size();int l 0, r 0;while(r < n){if(nums[r]){swap(nums[l],nums[r]);l;}r;}} };209. 长度最小的子数组 代码 class Solution { public:int minSubArrayLen(i…...

G - Find a way

题目分析 1.双重bfs,遍历两个起点求最短路再计算总和即可 2.唯一的坑点在于对于一个KFC&#xff0c;两人中可能有一个到不了&#xff0c;所以还要对到不了的点距离做处理 #include <bits/stdc.h> using namespace std; using ll long long; const int N 220;struct pos…...

AJAX 02 案例、Bootstrap框架

AJAX 学习 AJAX 2 综合案例黑马 API01 图书管理Bootstrap 官网Bootstrap 弹框图书管理-渲染列表图书管理-添加图书图书管理-删除图书图书管理 - 编辑图书 02 图片上传03 更换图片04 个人信息设置信息渲染头像修改补充知识点&#xff1a;label扩大表单的范围 AJAX 2 综合案例 黑…...

SinoDB客户端工具dbaccess

类似Oracle的客户端工具sqlplus&#xff0c;Mysql的客户端工具mysql&#xff0c;SinoDB数据库也有自带的命令行客户端工具dbaccess。 dbaccess 识别用户输入&#xff0c;将用户输入的 SQL 语句打包发送给 SinoDB 数据库服务器执行&#xff0c;然后接收服务器的执行结果&#xf…...

postman学习

一、如何学习postman工具 1、下载和安装 Postman&#xff1a; 首先&#xff0c;从 Postman 官方网站&#xff08;https://www.postman.com&#xff09;下载并安装 Postman 应用程序。 2、了解基本概念&#xff1a; 在开始学习之前&#xff0c;了解一些基本概念&#xff0c;…...

【Linux】初识进程

目录 操作系统是什么 设计操作系统的目的 操作系统的定位 如何理解管理 管理的本质 管理的例子 计算机的管理概念图 操作系统管理逻辑的六字真言 系统调用和库函数的概念 进程 进程的概念 什么是PCB&#xff1f; PCB的主要内容 如何查看进程&#xff1f; 通过系统…...

有关Theano和PyTensor库

根据Github里面的介绍&#xff0c;PyTensor是源于Theano&#xff0c; Theano目前应该已经不再开发了&#xff0c;更新都是很多年前。 因此PyTensor在背景介绍中说 PyTensor is a fork of Aesara, which is a fork of Theano. Theano和PyTensor都是计算相关的库&#xff0c;可以…...

用 Open-Sora 高效创作视频,让创意触手可及

近年来&#xff0c;视频内容以爆炸式增长席卷了我们的生活。从短视频平台到直播带货&#xff0c;视频正成为人们获取信息和娱乐的主要方式。然而&#xff0c;传统视频制作流程往往耗时费力&#xff0c;对于普通用户来说门槛较高。 为了降低视频创作门槛&#xff0c;让更多人享…...

Git版本管理工具

前言&#xff1a; 本文记录学习使用 Git 版本管理工具的学习笔记&#xff0c;通过阅读参考链接中的博文和实际操作&#xff0c;快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: Git使用教程-配置管理 git reset详解-CSDN博客 3、Git使用不完全指南&am…...

微信小程序选择器picker的使用(省市区)

index.wxml picker中的 moderegion模式&#xff0c;这里同element中的select不同的是&#xff0c;不需要自己在绑定数据原&#xff0c;默认就包含了省市区的整体数据 <view class"section"><view class"section__title">省市区选择器</vie…...

std::shared_ptr与std::make_unique在类函数中的使用

在最近学习cartographer算法的时候&#xff0c;发现源码中大量的使用了std::shared_ptr与std::make_unique&#xff0c;对于这些东西之前不是很了解&#xff0c;为了更好的理解源代码&#xff0c;因此简单学习了一下这块内容的使用&#xff0c;在这里简单记个笔记。 std::shar…...

flutter 局部view更新,dialog更新进度,dialog更新

局部更新有好几种方法&#xff0c;本次使用的是 StatefulBuilder 定义 customState去更新对话框内容 import package:flutter/cupertino.dart; import package:flutter/material.dart;class ProgressDialog {final BuildContext context;BuildContext? dialogContext;double _…...

Lombok:@Delegate优化代码利器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、Delegate介绍 二、示例 三、使用场景 四、使用注意事项 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、Delegate介绍 Dele…...

【C语言】对称密码——栅栏的加密和解密

栅栏密码的原理&#xff1a; 栅栏层数n ①把将要传递的信息中的字母交替排成上下n行。 ②再将下面每一行字母排依次在上面一行的后边&#xff0c;从而形成一段密码。 ③例如&#xff1a;栅栏层数为2 明文&#xff1a;THE LONGEST DAY MUST HAVE AN END 加密&#xff1a; …...

一、rv1126开发之视频输入和视频编码

RV1126 H264/HEVC编码流程 一、RV1126编码的流程图&#xff1a; 二、每个代码模块详细讲解 2.1. VI模块的创建 VI模块的初始化&#xff1a;关键在于VI_CHN_ATTR_S结构体&#xff0c;这个结构体是VI设置的结构体。这个结构体的成员变量包括&#xff1a;pcVideoNode&#xff0…...

【香橙派实战指南】从零到一:系统镜像烧录与首次启动全解析

1. 硬件准备与选型指南 第一次拿到香橙派开发板时&#xff0c;我盯着那个巴掌大的小盒子看了半天——这玩意儿真能当电脑用&#xff1f;后来折腾了三天三夜才明白&#xff0c;选对硬件配件比技术操作更重要。先说TF卡这个最容易翻车的部件&#xff0c;去年双十一贪便宜买了某杂…...

谷歌seo怎么优化内容?10年老兵拆解底层机制与SOP

一、 认知反转与致命后果&#xff1a;你以为的内容优化&#xff0c;其实是算法毒药很多人以为谷歌SEO优化内容&#xff0c;就是找一堆关键词&#xff0c;在文章里生硬地重复&#xff0c;或者买个工具用AI一天批量生成100篇伪原创文章发布。其实底层逻辑是&#xff0c;谷歌从来不…...

商家如何根据IP归属地工具做差异化服务?

在全球化电商和本地化服务的浪潮中&#xff0c;商家面临的共同痛点是&#xff1a;不同地区的用户需求差异巨大&#xff0c;提供一刀切的页面和服务&#xff0c;往往导致转化率低下。研究表明&#xff0c;近70%的中国用户更愿意响应与自身地理位置相关的营销内容。而IP归属地工具…...

5分钟彻底告别AutoCAD字体烦恼:免费智能插件FontCenter完整使用指南

5分钟彻底告别AutoCAD字体烦恼&#xff1a;免费智能插件FontCenter完整使用指南 【免费下载链接】FontCenter AutoCAD自动管理字体插件 项目地址: https://gitcode.com/gh_mirrors/fo/FontCenter 还在为AutoCAD图纸中的字体缺失而头疼吗&#xff1f;每次打开同事发来的D…...

【Pwn | CTF】BUUCTF nc工具实战入门:从零到flag

1. 初识nc工具&#xff1a;你的CTF网络瑞士军刀 第一次接触CTF比赛时&#xff0c;看到题目要求用nc连接服务器&#xff0c;我盯着黑乎乎的终端窗口发呆了十分钟。后来才发现&#xff0c;原来这个看似简单的工具&#xff0c;竟是Pwn题目的敲门砖。nc&#xff08;netcat&#xff…...

3种方法实现小红书作品批量下载:从手动到自动化完整指南

3种方法实现小红书作品批量下载&#xff1a;从手动到自动化完整指南 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、用户链接&a…...

基于Gradle 7.6与Spring Boot 3.0构建现代化Java 17微服务架构

1. 为什么选择Gradle 7.6 Spring Boot 3.0 Java 17组合 最近两年Java生态发生了翻天覆地的变化。作为一个经历过多个微服务项目的老兵&#xff0c;我发现这套技术组合正在成为企业级开发的新标准。Gradle 7.6带来的构建速度提升&#xff0c;Spring Boot 3.0对云原生的深度支持…...

别再死记硬背了!用Plecs的AC Sweep功能,5分钟看懂电路稳定性(附波德图判据详解)

电力电子工程师的Plecs速成课&#xff1a;用AC Sweep一键生成波德图的实战指南 在电力电子设计领域&#xff0c;电路稳定性分析就像给系统做"心电图"——而波德图就是那张能揭示潜在风险的关键报告单。传统教材总爱从传递函数推导开始&#xff0c;让工程师陷入拉普拉…...

被淘汰的有线耳机突然翻红,为啥有线耳机又火了?

最近几年&#xff0c;伴随着各大手机巨头频繁发力&#xff0c;无线耳机市场已经红火异常&#xff0c;但是就在这一系列的潮流之后&#xff0c;一个反潮流的现象却出现了&#xff0c;这就是本该被市场淘汰的有线耳机突然翻红&#xff0c;为啥有线耳机又火了&#xff1f;一、被淘…...

软考架构设计师论文 —— 论面向服务架构设计及其应用(6) —— 涉及知识点之Seata(3)

接前一篇文章:软考架构设计师论文 —— 论面向服务架构设计及其应用(5) —— 涉及知识点之Seata(2) 本文内容参考: Seata 是什么? | Apache Seata Seata分布式事务 (理论与部署相结合)-腾讯云开发者社区-腾讯云 特此致谢! 4. 分布式解决方案 基于上述架构,Seata提…...