I read a excel file to pass the input for some data fields. But when I run the program, some cell values are returning as null, some as blank.Physically when I open the excel file no value is available in the cell.
How can I identify manually an excel cell is null or blank.
For some scenarios I need to pass the blank values to the fields. If the cell is null I cannot pass the values to the fields.
Guide me to reach out.
Code:
public static void readAllData() throws IOException{
Object result = null;
String sheetName = "Testsheet";
String filePathxlsx = "C:/Users/MSTEMP/Documents/Files/Testxssf.xlsx";
try
{
FileInputStream in = new FileInputStream(filePathxlsx);
File file = new File(filePathxlsx);
if(file.isFile() && file.exists()){
XSSFWorkbook xworkbook = new XSSFWorkbook(in);
XSSFSheet xsheet=xworkbook.getSheet(sheetName);
int totalRows = xsheet.getLastRowNum();
for(int row =1; row<totalRows;row++){
xrow=xsheet.getRow(row);
int totalCells=xrow.getLastCellNum();
for(int cell =0; cell<totalCells;cell++){
if(xrow != null)
{
xcell= xrow.getCell(cell);
if(xcell!=null)
{
switch (xcell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:// numeric value in excel
if(DateUtil.isCellDateFormatted(xcell)){
Date myDate = xcell.getDateCellValue();
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
result = formatter.format(myDate);
//System.out.println("Today : " + result);
}
else{
result = new BigDecimal(xcell.getNumericCellValue()).toPlainString();
}
break;
case Cell.CELL_TYPE_STRING: // string value in excel
result = xcell.getStringCellValue();
break;
case Cell.CELL_TYPE_BOOLEAN: // boolean value in excel
result = xcell.getBooleanCellValue();
break;
case Cell.CELL_TYPE_BLANK: // blank value in excel
result = xcell.getStringCellValue();
break;
case Cell.CELL_TYPE_ERROR: // Error value in excel
result = xcell.getErrorCellValue()+"";
break;
}
}
else
{
System.out.println("Cell is empty");
}
System.out.println("Value "+result);
}
else
{
System.out.println("Row is empty");
}
}
}
}
inputStream.close();
}
catch (Exception ex){
ex.printStackTrace();
}
}