alibaba EasyExcel 简单导出数据到Excel

news/2024/10/6 1:24:50/

导入依赖

java"><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.1</version>
</dependency>

1、alibaba.excel.EasyExcel导出工具类 

java">import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.List;public class ExcelUtil {/*** 导出excel** @param response 响应* @param list 数据集* @param clazz 类名* @param fileName 文件名* @return*/public static<T> void exportExcel(HttpServletResponse response, List<T> list, Class<T> clazz, String fileName) {try {response.setCharacterEncoding("utf-8");response.setContentType("application/vnd.ms-excel;charset=UTF-8");response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8") + ".xlsx");EasyExcel.write(response.getOutputStream(), clazz).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())//自适应表格格式.sheet("sheet1").doWrite(list);}catch (Exception e){throw new RuntimeException(e.getMessage());}}
}

 2、controller层

java">   @GetMapping("/export")public void exportExcel(HttpServletResponse response,OpreationLogEntity opreationLogEntity){List<OpreationLogEntity> oprLogList = opreationLogService.findOprLogList(opreationLogEntity);ExcelUtil.exportExcel(response,oprLogList,OpreationLogEntity.class,"系统日志");}

3、实体类字段加上注解:

(1)@ExcelIgnore:表示忽略导出该字段数据

(2)@ExcelProperty("账号"):导出对应的字段数据,并且设置Excel属性表头名,

        举例--对应的表头名为:账号

(3)不加注解:例如sysModule字段,会导出该数据,但是表头名为sysModule

java">@Data
public class OpreationLogEntity{@ExcelIgnoreprivate Long id;@ExcelProperty("账号")private String opreCode;private String sysModule;
}

3、测试:浏览器地址栏输入url即可导出成功


http://www.ppmy.cn/news/1473805.html

相关文章

七大排序-冒泡排序,插入排序,希尔排序(一)

目录 排序冒泡排序插入排序冒泡排序和插入排序的对比希尔排序 排序 先写单趟&#xff0c;再写多趟&#xff0c;这样比较好写 排序可以理解为对商品价格的排序&#xff0c;对数字大小的排序&#xff0c;排序再生活中随处可见 冒泡排序 冒泡排序就是两个相邻的数交换&#xff…

(void) (_x == _y)的作用

在阅读宋宝华的《Linux设备驱动开发详解》一书时&#xff0c;看到下面这段代码&#xff1a; #define min(x, y) ({ \ const typeof(x) _x (x); \ const typeof(y) -y (y); \ (void) (&_x &_y); \ _x < _y ? _x : _y; }) 这段代码可以理解如…

永磁同步电机参数辨识算法--模型参考自适应辨识电感

本文采用 MRAS 在线辨识电感参数&#xff08;Ld、Lq&#xff09; 一、原理介绍 从组成部分来看&#xff0c;MRAS由三个重要部分构成分别为参考、可调以及自适应律。参考模型相当于IPMSM 参数实时变化的准确值&#xff0c;即作为可调模型的参考值&#xff0c;可调模型依据参数…

【C++】初步认识C++

1. 初识C1.1 C概念相关1.2 C发展史及其重要性1.2.1 发展史1.2.2 重要性 2. C关键字3. 命名空间4. 输入和输出 个人主页&#xff1a;C_GUIQU 归属专栏&#xff1a;【C学习】 1. 初识C 1.1 C概念相关 C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。 【来源】…

geom buffer制作

1. auto buffer_geom line_string->buffer(15);//buffer //这个是x和y各扩大段15个单位 auto buffer_geom line_string->buffer(15);//buffer //这个是x和y各扩大段15米 获取buffer坐标 auto boundary buffer_geom->getBoundary(); auto boundary_coords boun…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【17】认证服务01—短信/邮件/异常/MD5

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【17】认证服务01 环境搭建验证码倒计时短信服务邮件服务验证码短信形式&#xff1a;邮件形式&#xff1a; 异常机制MD5参考 环境搭建 C:\Windows\System32\drivers\etc\hosts 192.168.…

Android 换肤之主题换肤

文章目录 Android 换肤之主题换肤概述效果实现代码结构定义属性定义主题在Activity中使用在Fragment中使用工具类 源码下载 Android 换肤之主题换肤 概述 Android 实现应用内换肤的常用方式&#xff08;两种&#xff09;&#xff1a; 通过Theme切换主题&#xff0c;即静态方…

产品经理-的职业发展(9)

找一份好工作&#xff0c;就是为了获得更好的职业发展&#xff0c;下面分别给大家介绍下大、中、小型公司的职业发展路径 中小型公司 中小型公司的规模往往相对不大&#xff0c;又处于飞速发展过程中&#xff0c;培养体系和晋升标准都不够成熟&#xff0c;所以实际的职业发展路…