SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」
鹿老师的Java笔记 人气:0
![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305130804521-1152630068.png)
> **有天上飞的概念,就要有落地的实现**
>
> - 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍
>
> - 先赞后看,养成习惯
**SpringBoot 图文教程系列文章目录**
1. [SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」](https://mp.weixin.qq.com/s/phk6j3ChBP-kPtS2xZeEZg)
2. [SpringBoot图文教程2—日志的使用「logback」「log4j」](https://mp.weixin.qq.com/s/7Mw_xhFF4Q5NtdtcsHc67Q)
3. [SpringBoot图文教程3—「‘初恋’情结」集成Jsp](https://mp.weixin.qq.com/s/BYzVg5NBcF_ou_PyX8ygag)
4. [SpringBoot图文教程4—SpringBoot 实现文件上传下载](https://mp.weixin.qq.com/s/6ctykPo3eDBEB7YsC0PAZw)
5. [SpringBoot图文教程5—SpringBoot 中使用Aop](https://mp.weixin.qq.com/s/17qMRlv_mUfwkcVD05Bh2g)
6. [SpringBoot图文教程6—SpringBoot中过滤器的使用](https://mp.weixin.qq.com/s/r2BO4UMNRAw_REA6nNFLKw)
7. [SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有](https://mp.weixin.qq.com/s/YpDhuOTpt1vjYjnhnK8YdQ)
8. [SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」](https://mp.weixin.qq.com/s/uGYO4fkw03Kxpfp_PIA8rQ)
9. [SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」](https://mp.weixin.qq.com/s/BXfxhO5rFFg6XZQ0rZgGMg)
## 前言
![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305130807835-1095193205.png)
上一篇文章中简单介绍了Poi的使用方式,但是用Poi去写代码着实繁琐了一些,假如你要实现的是复杂的需求,**譬如:图片导出,多表数据导出,模板导出,大数据量导出等等,用最原生的Poi就不是很好的选择了。**
难道要自己封装工具类了吗?
![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305130808043-1354274953.png)
no no 轮子虽好,最好是别人写好的。**所以从这篇文章开始介绍两个优秀的Poi工具 Easypoi 和 阿里开源的 EasyExcel。**
## EasyPoi
EasyPoi 是对poi封装的一个工具库,封装好了一些常见的Excel操作
- 最基本的导入导出
- 图片的导入导出
- 多表数据的导入导出
- 大批量数据的导入导出
- 模板的导出
接下来我们一起来将以上的功能实现出来
> 官网地址:[http://easypoi.mydoc.io/#category_50222](http://easypoi.mydoc.io/#category_50222)
### 最基本的导入导出
> 最基本的导入导出,**要导出的数据的实体类如下:**
> ```
> public class Teacher {
> /**
> * 老师的主键
> */
> private Integer teacherId;
> /**
> * 名字
> */
> private String teacherName;
> /**
> * 头像图片地址
> */
> private String teacherImage;
> /**
> * 老师的状态 0代表正常 1代表删除
> */
> private Integer teacherStatus;
> }
>```
> 省略get set
#### 1.导入依赖
```
```
#### 2.给要导出数据实体类加注解
> 我们要导出的数据的实体类是Teacher 所以需要给Teacher加 Easypoi的注解
> **EasyPoi是注解式开发,所有的注解详情见官方文档,但是如果要完成的需求是最简单的导入导出的话,`@Excel`一个注解就足够了。**
**@Excel**
这个是必须使用的注解,如果需求简单只使用这一个注解也是可以的,涵盖了常用的Excel需求,需要大家熟悉这个功能,主要分为基础,图片处理,时间处理,合并处理几块
> @Excel 的官方api [http://easypoi.mydoc.io/#text_186900](http://easypoi.mydoc.io/#text_186900)
**添加好注解的实体类如下:**
![](https://img2020.cnblogs.com/blog/1003051/202003/1003051-20200305130814771-2122103473.png)
#### 3.直接使用 EasyPoi 中的工具类导入导出
> EasyPoi 是注解式开发,对Excel所有的定义,样式也好,日期格式化也好,都是在实体类的注解中定义
##### 导出代码
```
/**
* easypoi导出
*/
@Test
public void test4() throws IOException {
// 模拟数据
List
加载全部内容