diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java b/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java deleted file mode 100644 index 2762d43880..0000000000 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java +++ /dev/null @@ -1,78 +0,0 @@ -package io.dataease.commons.utils; -import com.google.gson.Gson; -import io.dataease.datasource.dto.TableFiled; - -import java.io.FileInputStream; -import java.io.InputStream; -import java.util.List; - -public class ExcelReaderUtil { - //excel2003扩展名 - public static final String EXCEL03_EXTENSION = ".xls"; - //excel2007扩展名 - public static final String EXCEL07_EXTENSION = ".xlsx"; - - public static void sendRows(String filePath, String sheetName, int sheetIndex, int curRow, List cellList) { - StringBuffer oneLineSb = new StringBuffer(); - oneLineSb.append(filePath); - oneLineSb.append("--"); - oneLineSb.append("sheet" + sheetIndex); - oneLineSb.append("::" + sheetName);//加上sheet名 - oneLineSb.append("--"); - oneLineSb.append("row" + curRow); - oneLineSb.append("::"); - - // map.put(cellList.get(9),cellList.get(0)) ; - - for (String cell : cellList) { - oneLineSb.append(cell.trim()); - oneLineSb.append("|"); - } - String oneLine = oneLineSb.toString(); - if (oneLine.endsWith("|")) { - oneLine = oneLine.substring(0, oneLine.lastIndexOf("|")); - }// 去除最后一个分隔符 - - System.out.println(oneLine); - } - - /** - * 读取excel文件路径 - * @param fileName 文件路径 - * @throws Exception - */ - public static void readExcel(String fileName, InputStream inputStream) throws Exception { - if (fileName.endsWith(EXCEL03_EXTENSION)) { //处理excel2003文件 - ExcelXlsReader excelXls=new ExcelXlsReader(); - excelXls.process(inputStream); - System.out.println(excelXls.totalSheets.size()); - System.out.println(excelXls.totalSheets.get(0).getExcelLable()); - for (TableFiled field : excelXls.totalSheets.get(0).getFields()) { - System.out.println(new Gson().toJson(field)); - } - System.out.println(excelXls.totalSheets.get(0).getData().get(0)); - System.out.println(excelXls.totalSheets.get(0).getData().get(1)); - System.out.println(excelXls.totalSheets.get(0).getData().get(2)); - } else if (fileName.endsWith(EXCEL07_EXTENSION)) {//处理excel2007文件 - ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader(); - excelXlsxReader.process(inputStream); - - System.out.println(excelXlsxReader.totalSheets.get(0).getFields().size()); - - for (TableFiled field : excelXlsxReader.totalSheets.get(0).getFields()) { - System.out.println(new Gson().toJson(field)); - } - System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(0)); - - } else { - throw new Exception("文件格式错误,fileName的扩展名只能是xls或xlsx。"); - } - } - - /* public static void main(String[] args) throws Exception { - - - String file ="修改日期为mm-dd-yyyy.xlsx"; - ExcelReaderUtil.readExcel(file, new FileInputStream("/Users/taojinlong/Desktop/" + file)); - } */ -} diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java index c97c8d4c4c..e8c60275d4 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java @@ -23,8 +23,6 @@ import java.util.stream.Collectors; **/ public class ExcelXlsReader implements HSSFListener { - public ExcelReaderUtil excelReaderUtil = new ExcelReaderUtil(); - private int minColums = -1; private POIFSFileSystem fs; diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java index fce888f67e..e76bb57216 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java @@ -345,6 +345,7 @@ public class ExcelXlsxReader extends DefaultHandler { { // 日期 isDateFormat = true; } + } } @@ -398,8 +399,12 @@ public class ExcelXlsxReader extends DefaultHandler { thisStr = value; } thisStr = thisStr.replace("_", "").trim(); - if(isDateFormat){ + + if(isDateFormat ){ type = "DATETIME";isDateFormat = false; + if(formatString != null && formatString.contains("%")){ + type = getType(thisStr); + } }else { type = getType(thisStr); }