近期在寫后臺(tái),需要使用easypoi 實(shí)現(xiàn)導(dǎo)入excel和導(dǎo)出excel功能,遇到一些問(wèn)題,記錄一下。
一定注意看文檔,看文檔,看文檔,重要的事情說(shuō)三遍?。?
Easypoi 文檔:http://doc.wupaas.com/docs/easypoi/easypoi-1c0u6ksp2r091
無(wú)論導(dǎo)入導(dǎo)出都需要定義一個(gè)實(shí)體類,對(duì)應(yīng)excel中各列的數(shù)據(jù),也可以在自己的數(shù)據(jù)庫(kù)字段中通過(guò)注解標(biāo)明哪些字段需要使用。
主要字段命名需要根據(jù)駝峰命名法來(lái),否則要報(bào)錯(cuò)。

image.png
1、導(dǎo)入excel表,字段全部為null處理方式
以下是我出問(wèn)題的代碼片段和需要導(dǎo)入的Excel表

代碼片段

Excel表
造成上面原因的是,我的表中有兩行表頭,需要在代碼中設(shè)置一個(gè)參數(shù),代碼如下:
//字段真正值和列標(biāo)題之間的距離 默認(rèn)0
importParams.setStartRows(1);
此外還有兩個(gè)參數(shù),需要注意下:
//表格標(biāo)題行數(shù),默認(rèn)0
importParams.setTitleRows(0);
//表頭行數(shù),默認(rèn)1
importParams.setHeadRows(1);
上述的設(shè)置在文檔都有解釋說(shuō)明,如果遇到文件導(dǎo)入成功,但是數(shù)據(jù)字段為Null,原因基本跟上面三個(gè)方法有關(guān)。