У меня есть лист Excel, где он имеет 14 строк.2 ряда пустые.Из 14 строк есть 12 строк, в которых есть данные.Данные могут существовать в любом столбце каждой строки.Поэтому я хочу перебрать ячейку каждой строки, и если данные присутствуют в любой из ячеек, мне нужно увеличить переменную j
.
Мое требование состоит в том, что если есть 14 строк и из которых 12у строк есть данные, тогда j
переменная должна напечатать 12.
package com.optum.synergy.nav4Me.ui.stepDefinitions;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellAddress;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
public class ExcelSheetTest {
public static final String SAMPLE_XLSX_FILE_PATH = "C:/Users/abc/Documents/excel_test.xlsx";
public static void main(String[] args) {
System.out.println("okkk");
// Creating a Workbook from an Excel file (.xls or .xlsx)
Workbook workbook;
try {
workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));
System.out.println("Workbook has " + workbook.getNumberOfSheets() + " Sheets ");
Sheet sh = workbook.getSheetAt(0);
int num1 = sh.getPhysicalNumberOfRows();
System.out.println(" " + num1);
int j = 0;
for (int i = 0; i < num1; i++) {
Row eachrow = sh.getRow(i);
for (Cell cell : eachrow) {
System.out.println("...... "+cell);
if(cell !=null){
j++ ;
break ;
}
}
}
System.out.println("Row counts :"+j);
} catch (EncryptedDocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Retrieving the number of sheets in the Workbook
}
}
В настоящее время "Количество строк": печать: 14
Как мне исправить код, чтобы выполнить мое требование?