How to read Excel cell having null values too in Java...?
Solution 1
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.
Solution 2
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 );
Solution 3
You need to check if cell!=null
, because if a cell doesn't exist in a row, row.getCell(c)
returns null
Venkat
Self-driven developer with a passion for clean code principles.
Updated on July 16, 2020Comments
-
Venkat almost 4 years
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?