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即可

posted @ 2021-04-16 18:47  三只坚果  阅读(1403)  评论(0编辑  收藏  举报