验证是否是空行,如果空行返回null

This commit is contained in:
thinkgem
2018-02-05 18:09:29 +08:00
parent 5fe3f27b0f
commit 23ab1ae851

View File

@@ -13,6 +13,7 @@ import java.text.DecimalFormat;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.Iterator;
import java.util.List; import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFDateUtil;
@@ -189,10 +190,25 @@ public class ExcelImport {
/** /**
* 获取行对象 * 获取行对象
* @param rownum * @param rownum
* @return * @return 返回Row对象如果空行返回null
*/ */
public Row getRow(int rownum){ public Row getRow(int rownum){
return this.sheet.getRow(rownum); Row row = this.sheet.getRow(rownum);
// 验证是否是空行如果空行返回null
short cellNum = 0;
short emptyNum = 0;
Iterator<Cell> it = row.cellIterator();
while (it.hasNext()) {
cellNum++;
Cell cell = it.next();
if (StringUtils.isBlank(cell.toString())) {
emptyNum++;
}
}
if (cellNum == emptyNum) {
return null;
}
return row;
} }
/** /**
@@ -228,6 +244,9 @@ public class ExcelImport {
* @return 单元格值 * @return 单元格值
*/ */
public Object getCellValue(Row row, int column){ public Object getCellValue(Row row, int column){
if (row == null){
return row;
}
Object val = ""; Object val = "";
try{ try{
Cell cell = row.getCell(column); Cell cell = row.getCell(column);
@@ -353,6 +372,9 @@ public class ExcelImport {
for (int i = this.getDataRowNum(); i < this.getLastDataRowNum(); i++) { for (int i = this.getDataRowNum(); i < this.getLastDataRowNum(); i++) {
E e = (E)cls.newInstance(); E e = (E)cls.newInstance();
Row row = this.getRow(i); Row row = this.getRow(i);
if (row == null){
continue;
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (int j = 0; j < annotationList.size(); j++){//Object[] os : annotationList){ for (int j = 0; j < annotationList.size(); j++){//Object[] os : annotationList){
Object[] os = annotationList.get(j); Object[] os = annotationList.get(j);
@@ -450,6 +472,9 @@ public class ExcelImport {
// //
// for (int i = ei.getDataRowNum(); i < ei.getLastDataRowNum(); i++) { // for (int i = ei.getDataRowNum(); i < ei.getLastDataRowNum(); i++) {
// Row row = ei.getRow(i); // Row row = ei.getRow(i);
// if (row == null){
// continue;
// }
// for (int j = 0; j < ei.getLastCellNum(); j++) { // for (int j = 0; j < ei.getLastCellNum(); j++) {
// Object val = ei.getCellValue(row, j); // Object val = ei.getCellValue(row, j);
// System.out.print(val+", "); // System.out.print(val+", ");