1

In the actual pipeline (locally it works) I am getting an error:

[Utils] [ERROR] [Error] java.lang.NullPointerException 
at org.apache.poi.xssf.usermodel.XSSFWorkbook.getSheet(XSSFWorkbook.java:1112)
at utilities.ExcelData

See this screenshot for the full error message.

Below is the code that I've used.

@DataProvider
public Object[][] GetDataFromExcelSheet() throws Exception {

    System.out.println("Enter GetDataFromExcelSheet");
    // Get all the data of excel method
    // Main Objective: Create data array which will contain excel data

    ExcelDataProvider excelDataProviderObj = new ExcelDataProvider();

    // 1. Find excel sheet name
    
    excelDataProviderObj.GetSheetName(PropertiesfileDataProvider.GetPropertyValue("nameofthesheet"));
    // 2. Find total rows of excel
    int rows = excelDataProviderObj.FindTotalRows();
    System.out.println("number of rows found as: " +rows);
    Object[][] data = new Object[rows][6];
    for (int i = 0; i < rows; i++) 
    {
        data[i][0] = excelDataProviderObj.GetCellData(i, 0);
        data[i][1] = excelDataProviderObj.GetCellData(i, 1);
        data[i][2] = excelDataProviderObj.GetCellData(i, 2);
        data[i][3] = excelDataProviderObj.GetCellData(i, 3);
        data[i][4] = excelDataProviderObj.GetCellData(i, 4);
        data[i][5] = excelDataProviderObj.GetCellData(i, 5);
        

    }
    System.out.println("Exit GetDataFromExcelSheet");

    return data;
}

public class ExcelDataProvider
{
XSSFSheet sheetName;

public void GetSheetName(String SheetName) throws Exception

{
    System.out.println("Enter GetSheetName");
    File file=new File(".\\TestData\\TestData.xlsx");
    FileInputStream fs=new FileInputStream(file);

    XSSFWorkbook wb=new XSSFWorkbook(fs);
    //CommonFunctions commonFunctionsObj=new CommonFunctions(driver);
    if(PropertiesfileDataProvider.GetPropertyValue("URL").contains("urltag"))
    {
        sheetName= wb.getSheet(SheetName);
    }
    else
        
    sheetName= wb.getSheet(SheetName);
    System.out.println("Exit GetSheetName");

}
public int FindTotalRows()
{
    int totalRows=sheetName.getLastRowNum()+1;
    //System.out.println(totalRows);
    //System.out.println(sheetName);
    return totalRows;
    
}

public String GetCellData(int row,int column)
{
    String data=sheetName.getRow(row).getCell(column).getStringCellValue();
    //String data=sheetName.getRow(row).getCell(column).getColumnIndex();
    //String data=sheetName.getRow(row).getCell(column).toString();

    System.out.println(data);
    return data;
}
}
Alexander Ivanchenko
  • 25,667
  • 5
  • 22
  • 46

0 Answers0