Null Pointer Exception while using insertNewFilterColoumn method
09:11 08 Mar 2018

I was trying to filter one column using CTAutoFilter. The table (sample table, not the actual one) value is as follows:

Brand           Color   Round Neck
-----------------------------------
Louis Philippe  White   Yes
Peter England   White   Yes
Van Huesen      White   No
Arrow New York  White   No

I want to filter the 3rd column with the value "Yes". So I wrote the following code. But I'm getting null pointer exception on

CTFilterColumn  myFilterColumn=sheetFilter.insertNewFilterColumn(0);

The code is :

try 
{
    xlsxFile = new FileInputStream("D:/Automation/Sample1.xlsx");
    xssfWB = new XSSFWorkbook(xlsxFile);
    sheet = xssfWB.getSheetAt(0);

    CTAutoFilter sheetFilter = sheet.getCTWorksheet().getAutoFilter();
    CTFilterColumn  myFilterColumn = sheetFilter.insertNewFilterColumn(0);
    myFilterColumn.setColId(3L);

    CTFilter myFilter = myFilterColumn.addNewFilters().insertNewFilter(0);
    myFilter.setVal("Yes");

    for (Row r : sheet)
    {
        for (Cell c : r)
        {
            if (c.getColumnIndex() == 3 && !c.getStringCellValue().equals("Yes"))
            {
                row = (XSSFRow) c.getRow();

                if (row.getRowNum() != 0)
                {
                    row.getCTRow().setHidden(true);
                }
            }
        }
    }
}

Can anyone help me sort this out?

java apache apache-poi xml-schema-collection