工具类方法判断是否存在为空的行数据
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
public static boolean isBlankRow(Row row){
boolean isEmptyRow = true;
for (int i=0; i<row.getLastCellNum(); i++){
if (row.getCell(i) != null){
if (row.getCell(i).getCellType()== Cell.CELL_TYPE_STRING && !row.getCell(i).getRichStringCellValue().equals("")){
isEmptyRow = false;
break;
}else if (row.getCell(i).getCellType()!=Cell.CELL_TYPE_BLANK){
isEmptyRow = false;
break;
}
}
if (!isEmptyRow)
break;
}
return isEmptyRow;
}
调用上面方法
InputStream inputStream = null;
Workbook workbook = null;
inputStream = file.getInputStream();
workbook = fileType.equals("xls")? new HSSFWorkbook(inputStream) : new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
int rowIndex = 0;
rowIndex++; //blank line
rowIndex++; //header comments
int maxPoLine = getManualOrderMaxLine();
List<String> itemNos = new ArrayList<>();
//sheet.getLastRowNum()获取文件中的总行数
System.out.println(sheet.getLastRowNum());
for (int i = rowIndex; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
//此处调用判断行是否为空的方法
if (PoiExcelUtils.isBlankRow(row))
continue;
int rowNo = i - rowIndex + 1;//这块是剔除掉为模板数据的第一行
}