你還在用原生poi處理excel?太麻煩了來瞧瞧這個~
easypoi
01、前言
excel在日常工作中經常被用來存儲用例信息,是一種非常便捷的數據存儲工具有著眾多的優點,我們就不一一介紹了。
今天來講講java操作excel,總所周知java是世界上最好的語言(不容反駁),操作一個excel肯定是不在話下。
咱們熟知的POI,Apache大佬出品的一款非常強大的office軟件操作包。
雖然POI強大,但是代碼相對比較繁瑣,在當前python引領的大潮下,簡化代碼勢在必行。
那麼如何簡化代碼呢?
其實這些事情早就已經有人幫我們想好和做好了,比如阿里巴巴的easyexcel,和我們今天的主角esaypoi都是非常好的解決方案。
那為什麼選擇easypoi而不是阿里的easyexcel呢?
當然是easypoi的讀寫導入和導出更加簡單。
接下來大家就跟隨著我一起慢慢揭開easypoi的神秘面紗。
02、簡介
easypoi功能如同名字easy,主打的功能就是容易,讓一個沒見接觸過poi的人員 就可以方便的寫出Excel導出,Excel模板導出,Excel導入,Word模板導出,通過簡單的註解和模板。
官網:https://opensource.afterturn.cn/doc/easypoi.html
03、maven座標
<dependency>
<groupid>cn.afterturn/<groupid>
<artifactid>easypoi-annotation/<artifactid>
<version>4.0.0/<version>
/<dependency>
<dependency>
<groupid>cn.afterturn/<groupid>
<artifactid>easypoi-base/<artifactid>
<version>4.0.0/<version>
/<dependency>
04、最簡單的導入
完成最簡單的導入,只需要兩步:
一使用註解配置實體類,二調用工具類。
實體類(省略get/set方法) :
public class API implements Serializable {
@Excel(name = "接口名稱")
private String name;
@Excel(name = "接口編號")
private String id;
@Excel(name = "接口提交方式")
private String type;
@Excel(name = "接口地址")
private String url;
@Excel(name = "參數類型")
private String contentType;
}
@Excel(name = "接口名稱")這個註解是啥意思呢?name屬性表示excel表頭。
如圖:
![你還在用原生poi處理excel?太麻煩了來瞧瞧這個](http://p2.ttnews.xyz/loading.gif)
當我們導入excel時,就會按照@Excel註解的映射關係封裝API實體類。
工具類:
FileInputStream fis = new FileInputStream(EXCEL_PATH);
//導入參數設置類
ImportParams params = new ImportParams();
ListimportExcel = ExcelImportUtil.importExcel(fis, API.class, params);
總共三行代碼,第一行加載excel文件,第二行設置導入參數,第三行根據導入參數返回對應結果並封裝成List集合。
這三個代碼中主要講解第二行和第三行,第二行是導入參數設置,它能給我們提供什麼設置呢?參考下表:
![你還在用原生poi處理excel?太麻煩了來瞧瞧這個](http://p2.ttnews.xyz/loading.gif)
對照完這張表之後,你會發現即使我們不對ImportParams做任何設置,也會有對應的默認值。那麼第二句代碼就能翻譯成:讀取第一個Sheet且只讀取第一個,表頭是Sheet的第一行且只有一行。最終我們就能得到第一個Sheet中每一行數據,並且每一行被封裝成了API對象也就是一個List。有了這個集合之後我們需要導入的數據就能任由我們如何處理了,是不是很簡單。
05、最簡單的導出
Listlist = new ArrayList ();
ExportParams exportParams = new ExportParams();
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, API.class, list);
workbook.write(new FileOutputStream(EXCEL_PATH));
導出也只有四句代碼。
第一句是需要導出的數據集合,第二句導出參數,第三句獲取導出workbook對象,第四句通過輸出流導出數據到excel中。
其中第二句也是有很多設置的,我們就用默認設置也能是導出的。
第三句也要用到API實體類中的註解映射關係。
06、最後
通過esaypoi我們能夠使用最少的代碼完成基本的導入和導出,基本上能夠應對實際工作中80%的需求了。如果需要對excel修改的話,目前來說市面上的工具包都做的不太簡單,所以還是需要通過編寫原生poi代碼完成。
如果你需要修改excel的代碼可以留言哦~
閱讀更多 檸檬班軟件測試 的文章