diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 4fc3ff4fc..4d41de0ab 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -261,13 +261,33 @@ public class ExcelUtil Map cellMap = new HashMap(); // 获取表头 Row heard = sheet.getRow(titleNum); + int nullIndex = 1; for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) { Cell cell = heard.getCell(i); if (StringUtils.isNotNull(cell)) { String value = this.getCellValue(heard, i).toString(); - cellMap.put(value, i); + // 处理表中重复字段标题 + if (cellMap.get(value) != null) + { + int repeat = 1; + do + { + repeat++; + } while(cellMap.get(value + repeat) != null); + cellMap.put(value + repeat, i); + } + else + { + cellMap.put(value, i); + } + // 处理多级表头为空的段落 + if (StringUtils.isEmpty(value)) + { + cellMap.put(nullIndex + "", i); + nullIndex++; + } } else {