java excel关联导入数据格式为一对多
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即可