I am reading values from some specific cells in an excel sheet. Those cells generally contain String but sometimes they may be blank (thus may return a blank or a null). I am using the following code to get the cell data:
Cell cellValue = row.getCell(10, Row.RETURN_NULL_AND_BLANK);
List.add(cellValue.getStringCellValue());
However, when I run this code I get a NullPointerException
. Can anybody point out what is wrong and should be added?
Note: I am deliberately using Row.RETURN_NULL_AND_BLANK
and not MissingCellPolicy.RETURN_NULL_AND_BLANK
because using the latter was giving me an error.
You need to test the cellValue
if it is not null, since using Row.RETURN_NULL_AND_BLANK
will return null
in cases where you are trying to access a missing cell.
You are getting a NullPointerException
because the 10-th column on a specified row is missing.
If you need to handle differently the missing vs. blank cases you can use the following:
Cell cellValue = row.getCell(10, Row.RETURN_NULL_AND_BLANK);
if (cellValue == null)
List.add("CELL NOT FOUND");
else if("".equals(cellValue.getStringCellValue().trim()))
List.add("MISSING CONTENT");
else
List.add(cellValue.getStringCellValue());
@dan - Thanks for your reply. That indeed helped. I modified my code as follows and I am not getting that exception now:
Cell cellValue = row.getCell(10, Row.CREATE_NULL_AS_BLANK);
if(cellValue.getStringCellValue().equals("")){
List.add("NOT FOUND");
}
else {
List.add(cellValue.getStringCellValue());
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With