1. 程式人生 > >SpringBoot圖文教程10—模板匯出|百萬資料Excel匯出|圖片匯出「easypoi」

SpringBoot圖文教程10—模板匯出|百萬資料Excel匯出|圖片匯出「easypoi」

![](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 { // 模擬資料