EasyP0i 一對多資料匯入 null值問題

2021-10-08 14:00:35 字數 1511 閱讀 3820

準備接收資料的實體類

@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表之間具有一對多關係 每個出版社出版很多書,但是每本書名只能出自乙個出版社。只有當乙個相關列是乙個主鍵或具有唯一約束時,才能建立一...