diff --git a/tagApi-service/src/main/java/hw/tagApi/service/utils/TagExcelUtil.java b/tagApi-service/src/main/java/hw/tagApi/service/utils/TagExcelUtil.java index 735b72b..169feac 100644 --- a/tagApi-service/src/main/java/hw/tagApi/service/utils/TagExcelUtil.java +++ b/tagApi-service/src/main/java/hw/tagApi/service/utils/TagExcelUtil.java @@ -45,6 +45,7 @@ public class TagExcelUtil { if (isInventoryFlag) { List> tagList = parseTagList(sheet, 1); result.put("tagList", tagList); + result.put("orderInfo", new HashMap<>()); } else { // 解析订单信息 Map orderInfo = parseOrderInfo(sheet); @@ -151,8 +152,18 @@ public class TagExcelUtil { // 获取表头 Row headerRow = sheet.getRow(startRow - 1); List headers = new ArrayList<>(); - for (Cell cell : headerRow) { - headers.add(getCellStringValue(cell)); + // 获取最后一列的索引 + int lastColumn = headerRow.getLastCellNum(); + + // 处理表头 + for (int i = 0; i < lastColumn; i++) { + Cell cell = headerRow.getCell(i); + String headerValue = getCellStringValue(cell); + // 如果表头为空,使用列索引作为键 + if (!StringUtils.hasText(headerValue)) { + headerValue = "Column_" + i; + } + headers.add(headerValue); } // 解析数据行 @@ -162,7 +173,8 @@ public class TagExcelUtil { Map tagData = new HashMap<>(); boolean hasData = false; - for (int i = 0; i < headers.size(); i++) { + // 使用lastColumn而不是headers.size() + for (int i = 0; i < lastColumn; i++) { String value = getCellStringValue(row.getCell(i)); if (StringUtils.hasText(value)) { hasData = true;