diff --git a/src/main/java/com/nis/util/excel/ImportBigExcel.java b/src/main/java/com/nis/util/excel/ImportBigExcel.java index fa4f8b70c..ecbde94c3 100644 --- a/src/main/java/com/nis/util/excel/ImportBigExcel.java +++ b/src/main/java/com/nis/util/excel/ImportBigExcel.java @@ -432,12 +432,14 @@ public class ImportBigExcel extends XLSXCovertCSVReader{ Map> dictMap = new HashMap>(); Object val1 = null; for (int i = 0, len = dataList.size(); i < len; i++) { - E e = (E)cls.newInstance(); - if(i<=headerNum) { + List row=dataList.get(i); + //boolean flag = row.stream().allMatch(obj -> "".equals(obj)); + if(i <= headerNum || row.size() == 0) {// 跳过第一行和空行 continue; } + + E e = (E)cls.newInstance(); int column = 0; - List row=dataList.get(i); StringBuilder sb = new StringBuilder(); for (Object[] os : annotationList){ Object val=row.get(column); diff --git a/src/main/java/com/nis/util/excel/XLSXCovertCSVReader.java b/src/main/java/com/nis/util/excel/XLSXCovertCSVReader.java index f16e5770a..a0ba0c86b 100644 --- a/src/main/java/com/nis/util/excel/XLSXCovertCSVReader.java +++ b/src/main/java/com/nis/util/excel/XLSXCovertCSVReader.java @@ -112,7 +112,8 @@ public abstract class XLSXCovertCSVReader { // private String[] record; // private List rows = new ArrayList(); private boolean isCellNull = false; - + + private int upRowId; // 记录上一行行号 /** * Accepts objects needed while parsing. * @@ -203,8 +204,23 @@ public abstract class XLSXCovertCSVReader { if (this.formatString == null) this.formatString = BuiltinFormats .getBuiltinFormat(this.formatIndex); - } - } + } + + }else if("row".equals(name)) { + // 获取行号 + String r = attributes.getValue("r"); + int index = Integer.parseInt(r); + + int gap = index - upRowId; + if(gap > 1) { // 存在空行 + while(gap > 1) { + optRows(sheetIndex,lastColumnNumber,rowlist); + gap--; + } + + } + upRowId = index; + } lastContents = ""; }