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即可
标签:java,list,getCellValue,excel,getCell,checkTemplateEntity,数据格式,row 来源: https://www.cnblogs.com/july7/p/14668377.html