diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java index 8f622e8d..4b10e22e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java @@ -329,14 +329,14 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl 500) { - return Result.error("单元格输入过长"); + return Result.error("第"+(rowIndex-1)+"行第"+(columnIndex + 1)+"个单元格输入过长"); } rowMap.put(headerCell.getStringCellValue(), cell.getStringCellValue()); } @@ -346,6 +346,9 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl firstMeetingTypeList = dicTypeService.selectAllDicTypeNameByDicCode("firstMeetingType"); @@ -373,11 +376,7 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl> importDataList = new ArrayList<>(); + for (int rowIndex = 2; rowIndex < rowNum; rowIndex++) { + // 获取每一行 + Row row = sheet.getRow(rowIndex); + // 用于存储每行的键值对数据,对应一条数据 + Map rowMap = new LinkedHashMap<>(); + // 总列数 + int columnNum = 9; + // 遍历每个单元格 + for (int columnIndex = 0; columnIndex < columnNum; columnIndex++) { + // 获取单元格 + Cell cell = row.getCell(columnIndex); + // 获取表头单元格 + Cell headerCell = headerRow.getCell(columnIndex); + if (cell != null) { + if (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) { + Date d = cell.getDateCellValue(); + if (d.before(sdf.parse("1900-01-01")) || d.after(sdf.parse("2500-01-01"))) { + return Result.error("第"+(rowIndex-1)+"行第"+(columnIndex + 1)+"个单元格输入的日期异常,请按照实际日期填写"); + } + // 将单元格数据存入Map中 + rowMap.put(headerCell.getStringCellValue(), sdf.format(d)); + } else { + cell.setCellType(CellType.STRING); + if (cell.getStringCellValue().length() > 500) { + return Result.error("第"+(rowIndex-1)+"行第"+(columnIndex + 1)+"个单元格输入过长"); + } + rowMap.put(headerCell.getStringCellValue(), cell.getStringCellValue()); + } + } else { + rowMap.put(headerCell.getStringCellValue(), ""); + } + } + importDataList.add(rowMap); + } + if (importDataList.size() < 1) { + return Result.error("您输入的数据为空"); + } ImportParams importParams = new ImportParams(); importParams.setTitleRows(1); List sarLawsInformationList = ExcelImportUtil.importExcel(readImpExcelFile(zipEntryName).get(0), SarLawsInformation.class, importParams); @@ -500,6 +537,9 @@ public class SarLawsInformationServiceImpl extends ServiceImpl> importDataList = new ArrayList<>(); + for (int rowIndex = 3; rowIndex < rowNum; rowIndex++) { + // 获取每一行 + Row row = sheet.getRow(rowIndex); + // 用于存储每行的键值对数据,对应一条数据 + Map rowMap = new LinkedHashMap<>(); + // 总列数 + int columnNum = 32; + // 遍历每个单元格 + for (int columnIndex = 0; columnIndex < columnNum; columnIndex++) { + // 获取单元格 + Cell cell = row.getCell(columnIndex); + // 获取表头单元格 + Cell headerCell = headerRow.getCell(columnIndex); + if (cell != null) { + if (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) { + Date d = cell.getDateCellValue(); + try { + if (d.before(sdf.parse("1900-01-01")) || d.after(sdf.parse("2500-01-01"))) { + return Result.error("第"+(rowIndex-1)+"行第"+(columnIndex + 1)+"个单元格输入的日期异常,请按照实际日期填写"); + } + } catch (ParseException e) { + return Result.error("第"+(rowIndex-1)+"行第"+(columnIndex + 1)+"个单元格输入的日期异常,请按照实际日期填写"); + } + // 将单元格数据存入Map中 + rowMap.put(headerCell.getStringCellValue(), sdf.format(d)); + } else { + cell.setCellType(CellType.STRING); + if (cell.getStringCellValue().length() > 500) { + return Result.error("第"+(rowIndex-1)+"行第"+(columnIndex + 1)+"个单元格输入过长"); + } + rowMap.put(headerCell.getStringCellValue(), cell.getStringCellValue()); + } + } else { + rowMap.put(headerCell.getStringCellValue(), ""); + } + } + importDataList.add(rowMap); + } + if (importDataList.size() < 1) { + return Result.error("您输入的数据为空"); + } + ImportParams importParams = new ImportParams(); importParams.setTitleRows(1); importParams.setHeadRows(2);