From 514b41dd55c1aeb78f24c1eb3282874d3797ca29 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Thu, 20 May 2021 11:12:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=BB=98=E8=AE=A4=E6=8A=BD=E5=8F=96=20e?= =?UTF-8?q?xcel=20=E7=AC=AC=E4=B8=80=E4=B8=AA=20sheet=20=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dataset/ExtractDataService.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) 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 ef53e8fed1..36d1c6220e 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -29,6 +29,10 @@ import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.pentaho.di.cluster.SlaveServer; import org.pentaho.di.core.database.DatabaseMeta; import org.pentaho.di.core.row.ValueMetaInterface; @@ -64,6 +68,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.naming.AuthenticationException; import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; import java.io.InputStreamReader; import java.net.InetAddress; import java.util.ArrayList; @@ -512,9 +518,23 @@ public class ExtractDataService { ExcelInputMeta excelInputMeta = new ExcelInputMeta(); if (StringUtils.equalsIgnoreCase(suffix, "xlsx")) { excelInputMeta.setSpreadSheetType(SpreadSheetType.SAX_POI); + try{ + InputStream inputStream = new FileInputStream(filePath); + XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inputStream); + XSSFSheet sheet0 = xssfWorkbook.getSheetAt(0); + excelInputMeta.setSheetName(new String[]{sheet0.getSheetName()}); + }catch (Exception e){ + e.printStackTrace(); + } } if (StringUtils.equalsIgnoreCase(suffix, "xls")) { excelInputMeta.setSpreadSheetType(SpreadSheetType.JXL); + try{ + InputStream inputStream = new FileInputStream(filePath); + HSSFWorkbook workbook = new HSSFWorkbook(inputStream); + HSSFSheet sheet0 = workbook.getSheetAt(0); + excelInputMeta.setSheetName(new String[]{sheet0.getSheetName()}); + }catch (Exception e){e.printStackTrace();} } excelInputMeta.setPassword("Encrypted"); excelInputMeta.setFileName(new String[]{filePath});