From 254444fccf15f4a0e5a00b254387530d90212268 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 18 May 2021 16:33:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=9D=E5=AD=98=20excel=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E7=9A=84=E5=AD=97=E6=AE=B5=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/service/dataset/DataSetTableService.java | 4 ++++ .../io/dataease/service/dataset/ExtractDataService.java | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index db1d2d1208..2b30b0ae43 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -664,6 +664,7 @@ public class DataSetTableService { tableFiled.setFieldName(readCell(row.getCell(j))); tableFiled.setRemarks(readCell(row.getCell(j))); tableFiled.setFieldType("TEXT"); + tableFiled.setFieldSize(1024); if(StringUtils.isEmpty(tableFiled.getFieldName())){ continue; } @@ -698,6 +699,9 @@ public class DataSetTableService { tableFiled.setRemarks(readCell(row.getCell(j))); tableFiled.setFieldType("TEXT"); tableFiled.setFieldSize(1024); + if(StringUtils.isEmpty(tableFiled.getFieldName())){ + continue; + } fields.add(tableFiled); } else { r[j] = readCell(row.getCell(j)); diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index c9b6f325aa..acf72d5034 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -497,8 +497,14 @@ public class ExtractDataService { } private StepMeta excelInputStep(String filePath, List datasetTableFields) { + String suffix = filePath.substring(filePath.lastIndexOf(".") + 1); ExcelInputMeta excelInputMeta = new ExcelInputMeta(); - excelInputMeta.setSpreadSheetType(SpreadSheetType.SAX_POI); + if (StringUtils.equalsIgnoreCase(suffix, "xlsx")) { + excelInputMeta.setSpreadSheetType(SpreadSheetType.SAX_POI); + } + if (StringUtils.equalsIgnoreCase(suffix, "xls")) { + excelInputMeta.setSpreadSheetType(SpreadSheetType.JXL); + } excelInputMeta.setPassword("Encrypted"); excelInputMeta.setFileName(new String[]{filePath}); excelInputMeta.setStartsWithHeader(true);