Исключение в потоке "main" java .lang.NullPointerException Ошибка при вызове метода для записи строки в лист Excel в JAVA. Ошибка как показано ниже
Исключение в потоке "main" java .lang.NullPointerException в ManualVolteCxCreation.ExcelDataReader.writeExcelTestResult (ExcelDataReader. java: 51)
Вызов метода writeExcelTestResult из основного класса, как показано ниже.
excelDataReader.writeExcelTestResult(startRowIndex, "There are already connections with");
Класс чтения данных Excel имеет конструктор, в котором инициализируются файл Excel, книгу Excel и лист Excel, а также два методы чтения данных Excel и записи в 7-й столбец файла Excel. Класс чтения данных Excel выглядит следующим образом.
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelDataReader {
ConfigReader configReader = new ConfigReader();
File testFilePath;
FileInputStream fis;
XSSFWorkbook volteConnections;
XSSFSheet testDataFile;
XSSFRow rowTestData;
public ExcelDataReader() {
try {
testFilePath = new File(configReader.readPropertyValue("excel"));
fis = new FileInputStream(testFilePath);
// Finds the workbook instance for XLSX file
volteConnections = new XSSFWorkbook(fis);
// Return first sheet from the XLSX workbook
testDataFile = volteConnections.getSheetAt(0);
} catch (Exception e) {
e.printStackTrace();
}
}
public XSSFRow readExcelRowTestData(int rowIndex) {
rowTestData = testDataFile.getRow(rowIndex);
return rowTestData;
}
public void writeExcelTestResult(int rowIndex, String testResult) {
testDataFile.getRow(rowIndex).getCell(7).setCellValue(testResult);
}
}
Я отладил и попытался выяснить, где проблема, но обнаружил, что каждая переменная была инициализирована, как показано на рисунке ниже.
Итак, какие-либо предложения, как я могу решить эту проблему?