From f448b55fa512c459096805b2f5e56e6ae176855c Mon Sep 17 00:00:00 2001 From: yinq Date: Sun, 27 Apr 2025 08:48:20 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=EF=BC=88=E7=9B=98=E7=82=B9=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E5=8F=AA=E6=8F=90=E5=8F=96=E6=9C=89=E6=95=88=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8F=AA=E6=9C=89TID=E5=92=8CEPC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hw/tagApi/service/utils/TagExcelUtil.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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;