準備接收資料的實體類
@data
@noargsconstructor
@allargsconstructor
@exceltarget
(value =
"question"
)public
class
questionexceldto
implements
serializable
}
實現excel資料匯入的方法
從debug的結果看,存在的解析錯誤有兩點:
1. 匯入的excel**中的實際資料只有6條,但**錯誤的解析出了7條資料,且第一條資料的所有數值均為null;
2. 「一對多」資料中的「多」沒有解析出來,全部為null。
檢視了easypoi的官方文件以後發現,一切的問題出在源**中的這條語句:
// 指定表頭所佔的行數
importparams.
setheadrows(1
);
再來看看剛才匯入資料的excel的表頭:
可以看到表頭的行數應該是2,但是我們設定成了1,將行數設定成2以後再次進行解析:
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-lf133054-1595837846440)(markdown/easypio 一對多資料匯入 null值問題.assets/image-20200727161414099.png)]
從解析結果看,問題應該已經得到了解決。
資料庫 一對一,一對多,多對多
一對一 就是說a表中的一條記錄對應著b表的一條記錄。大家可能會覺得這不是變得複雜了嗎?其實不然,如果,當一張表的字段過於太多,而很多字段可能只有在某些情況下,才會使用到,這時也可以考慮使用一對一設計。條件 建立單獨的表就行了,優點 1.便於管理 可提高一定的查詢速度 2.減輕 cpu 的 io 讀寫...
資料庫中表關係(一對多,多對多,一對一)
一對多關係是最普通的一種關係。在這種關係中,a 表中的一行可以匹配 b 表中的多行,但是 b 表中的一行只能匹配 a 表中的一行。例如,publishers和titles表之間具有一對多關係 每個出版社出版很多書,但是每本書名只能出自乙個出版社。只有當乙個相關列是乙個主鍵或具有唯一約束時,才能建立一...
資料庫中表關係(一對多,多對多,一對一)
一對多關係是最普通的一種關係。在這種關係中,a 表中的一行可以匹配 b 表中的多行,但是 b 表中的一行只能匹配 a 表中的一行。例如,publishers和titles表之間具有一對多關係 每個出版社出版很多書,但是每本書名只能出自乙個出版社。只有當乙個相關列是乙個主鍵或具有唯一約束時,才能建立一...