Null Pointer Exception while using insertNewFilterColoumn method
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?