From b0278bfda3fa01b4afa210b33468e2b07ffea815 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 29 Jan 2024 16:02:05 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E9=9B=86):=20=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=BC=A0Excel=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/service/dataset/ExtractDataService.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 5ec60f03b9..78dff6de7a 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -1060,7 +1060,7 @@ public class ExtractDataService { udjcStep = udjc(datasetTableFields, DatasourceTypes.db2, db2Configuration, isSetKey); break; case excel: - inputSteps = excelInputStep(datasetTable.getInfo(), datasetTableFields); + inputSteps = excelInputStep(datasetTable.getInfo(), datasetTableFields, isSetKey); udjcStep = udjc(datasetTableFields, DatasourceTypes.excel, null, isSetKey); default: break; @@ -1147,7 +1147,7 @@ public class ExtractDataService { return inputSteps; } - private List excelInputStep(String Info, List datasetTableFields) { + private List excelInputStep(String Info, List datasetTableFields, boolean isSetKey) { List inputSteps = new ArrayList<>(); DataTableInfoDTO dataTableInfoDTO = new Gson().fromJson(Info, DataTableInfoDTO.class); List excelSheetDataList = dataTableInfoDTO.getExcelSheetDataList(); @@ -1165,8 +1165,13 @@ public class ExtractDataService { csvInputMeta.setHeaderPresent(true); csvInputMeta.setBufferSize("10000"); csvInputMeta.setDelimiter(","); - TextFileInputField[] fields = new TextFileInputField[datasetTableFields.size()]; + Integer fileInputFields = isSetKey ? datasetTableFields.size() : datasetTableFields.size() - 1; + TextFileInputField[] fields = new TextFileInputField[fileInputFields]; + for (int i = 0; i < datasetTableFields.size(); i++) { + if(datasetTableFields.get(i).getDataeaseName().equalsIgnoreCase("dataease_uuid")){ + continue; + } TextFileInputField field = new TextFileInputField(); field.setName(datasetTableFields.get(i).getDataeaseName()); if (datasetTableFields.get(i).getDeExtractType() == 1) {