SpringBoot圖文教程10—模板匯出|百萬資料Excel匯出|圖片匯出「easypoi」
阿新 • • 發佈:2020-03-05
![](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 {
// 模擬資料