private Object objectFrom(final HSSFWorkbook workbook, final Cell cell) {
    Object cellValue = null;

    if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
      cellValue = cell.getRichStringCellValue().getString();
    } else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
      cellValue = getNumericCellValue(cell);
    } else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
      cellValue = cell.getBooleanCellValue();
    } else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
      cellValue = evaluateCellFormula(workbook, cell);
    }

    return cellValue;
  }
 private int firstEmptyCellPosition(final Row cells) {
   int columnCount = 0;
   for (Cell cell : cells) {
     if (cell.getCellType() == Cell.CELL_TYPE_BLANK) {
       break;
     }
     columnCount++;
   }
   return columnCount;
 }
 private boolean isEmpty(final Row row) {
   Cell firstCell = row.getCell(0);
   boolean rowIsEmpty = (firstCell == null) || (firstCell.getCellType() == Cell.CELL_TYPE_BLANK);
   return rowIsEmpty;
 }