I'm using Apache POI 3.6. I've a column which is blank. I would like to be able to read it and then move to the next column. Even if I could resolve the NullPointerException
problem I could not get to the next cell.
Here's my code snippet :
HSSFCell cell = row.getCell(c);
String value = null;
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_FORMULA:
value = "FORMULA value=" + cell.getCellFormula();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
value = "NUMERIC value=" + cell.getNumericCellValue();
break;
case HSSFCell.CELL_TYPE_STRING:
value = "STRING value=" + cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
value="";
break;
case HSSFCell.CELL_TYPE_ERROR:
value="error";
break;
default:
break;
}
System.out.println("CELL col=" + cell.getColumnIndex() + " VALUE=" + value);
How can I resolve my problem?
I've finally got what I want. I thank mezmo for it. I want to share the exact code snippet to be changed. Just replace the line having :
HSSFCell cell = row.getCell(c);
with
HSSFCell cell=row.getCell(c, org.apache.poi.ss.usermodel.Row.CREATE_NULL_AS_BLANK );
Well, you could check for null before your switch statement, or you could change which call to row.getCell you make. Checking the Javadoc for POI there are 2 forms, the first is what you are using, the second has an additional parameter, of the type Row.MissingCellPolicy, where you can pass a value that would automagically transform null cells into blanks.
You need to check if cell!=null
, because if a cell doesn't exist in a row, row.getCell(c)
returns null
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