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

使用EasyExcel导出明细数据

作者:fyupeng
技术专栏:☞ https://github.com/fyupeng
分布式博客项目地址:☞ https://github.com/fyupeng/distributed-blog-system-api


留给读者

工作中难免会遇到数据导出的问题,最简单的解决方案就是引入阿里的EasyExcel来解决。

一、介绍

EasyExcel是alibaba开源的一个Excel工具,容易上手,基本能够满足企业的需求。

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

二、代码

1. 实体注解

@NoArgsConstructor
@AllArgsConstructor
@ToString
@Data
@Builder(toBuilder = true)
public class Entity implements Serializable {// 导出value对应表格头,index对应排序(从0下标开始)@ExcelProperties(value = "编码", index = 0)private String code;@ExcelProperties(value = "名称", index = 1)private String name;
}

2. 核心代码

public void export(HttpServletRequest request, HttpServletResponse response) {String fileName = "导出明细.xlsx";OutputStream out = null;try {response.setContentType("application/octet-stream;charset=UTF-8");response.setHeader("Content-Type", "application/vnd.ms-excel");fileName = URLEncoder.encode(fileName, "UTF-8");response.setHeader("Content-Disposition", "attachment;filename=", fileName);response.addHeader("Cache-Control", "no-cache");out = response.getOutputStream();// 创建 Exce 文件写入流ExcelWriter excelWriter = EasyExcel.write(out).build();// 新增 Sheet 表格WriteSheet sheet = EasyExcel.writeSheet(0, "基本信息").head(Entity.class).build();List<Entity> list = new ArrayList<>();excelWriter.write(list, sheet);// 关闭 excel 写入流excelWriter.finish();// 内存刷入响应流并清空内存response.flushBuffer();} catch (IOException e) {throw new Exception("明细导出失败!");}
}

三、总结

每日总结归档,学习会遗忘,但学习后总结不会,它能让你变得越来越强!

http://www.dtcms.com/a/292641.html

相关文章:

  • gpt面试题
  • 【学习路线】Python全栈开发攻略:从编程入门到AI应用实战
  • 深度学习篇---车道线循迹
  • 快速了解pandas库
  • opencv简介(附电子书资料)
  • VS Code 美化插件
  • Java (Spring AI) 实现MCP server实现数据库的智能问答
  • SpringAOP的实现原理和场景
  • 《汇编语言:基于X86处理器》第9章 字符串和数组(2)
  • 服务器租用:网络钓鱼具体是指什么?
  • Linux 内核与底层开发
  • Linux 下分卷压缩与解压缩全指南:ZIP 与 TAR.GZ 实战
  • Python趣味算法:实现任意进制转换算法原理+源码
  • Spring Boot环境搭建与核心原理深度解析
  • 【Dij】P1807 最长路
  • Linux文件——文件系统Ext2(1)_理解硬件
  • js的基本内容:引用、变量、打印、交互、定时器、demo操作
  • 【LeetCode 热题 100】46. 全排列——回溯
  • Windows 编程辅助技能:转到文档
  • 【方案】网页由微应用拼图,微前端
  • 『 C++ 入门到放弃 』- 红黑树
  • 一文详解Java类中的构造器是什么及主要特性
  • 70.爬楼梯
  • ABP VNext 报表:EPPlus DinkToPdf 多格式导出
  • redis秒杀之lua脚本
  • 20250722解决在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13出现找不到python2的问题
  • GraphRAG的部署和生成检索过程体验
  • C++11--锁分析
  • npm全局安装后,依然不是内部或外部命令,也不是可运行的程序或批处理文件
  • 大数据量查询计算引发数据库CPU告警问题复盘