I'm trying to read the data from excel and extracting the data from each column and storing it in another variable. Each case represents the column. Using fbDataField I'm adding the row data into the List name fbList. Can this code be refactored to make it look a clean code?
for(int i=0;i< workbook.getNumberOfSheets(); i++){
Sheet sheet = workbook.getSheetAt(i);
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext()){
FacebookFields fbDataField= new FacebookFields();
Row row = rowIterator.next();
if(row.getRowNum()== 0 )
{
continue;
}
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()){
Cell cell= cellIterator.next();
switch(cell.getColumnIndex()){
case 0: fbDataField.setName(cell.getStringCellValue());
break;
case 1: fbDataField.setId(cell.getStringCellValue());
break;
case 2: fbDataField.setDate(cell.getStringCellValue());
break;
case 3: fbDataField.setMessage(cell.getStringCellValue());
break;
case 4: fbDataField.setType(cell.getStringCellValue());
break;
case 5: fbDataField.setPage(cell.getStringCellValue());
break;
case 6: fbDataField.setLikeCount(String.valueOf(cell.getNumericCellValue()));
break;
case 7: fbDataField.setCommentCount(String.valueOf(cell.getNumericCellValue()));
break;
case 8: fbDataField.setShareCount(String.valueOf(cell.getNumericCellValue()));
break;
}
}
fbList.add(fbDataField);
}
}