java excel關聯導入數據格式為一對多
java 表格讀取時一行一行的讀取 將每行數據放入list 根據
list.stream().filter(m->m.getCode().equals(getCellValue(row.getCell(0)))).findAny().isPresent()
作為循環判斷依據 如果list中存在相同數據返回false
則不會再將重復數據放入實體
if(! checkTemplateList.stream().filter(m->m.getCode().equals(getCellValue(row.getCell(0)))).findAny().isPresent()){ //list是否存重復code
//
checkTemplateEntity.setCode(getCellValue(row.getCell(0)));
//
checkTemplateEntity.setName(getCellValue(row.getCell(1)));
//status(int)
try {
checkTemplateEntity.setStatus(1);
//type
checkTemplateEntity.setType((int) row.getCell(2).getNumericCellValue());
} catch (NullPointerException e) {
System.out.println("");;
}
checkTemplateEntity.setContent(getCellValue(row.getCell(3)));
//放入list
checkTemplateList.add(checkTemplateEntity);
}
如果表2數據不可以重復 再判斷表2 數據如上
如果表2 可以重復不需要進行判斷 直接存入表格中
如果存在中間表 主鍵id自增 則此時另外兩張表主鍵需要用戶插入 不能使用自增
導出 直接sql查詢出來寫入excel即可