Tries to convert the value first to an int, then a float and if neither is
    successful it returns the string value.

def parse_cell(self, cell, coords, cell_mode=CellMode.cooked):
    """Tries to convert the value first to an int, then a float and if neither is
    successful it returns the string value.
    """
    try:
      return int(cell)
    except ValueError:
      pass
    try:
      return float(cell)
    except ValueError:
      pass
    # TODO Check for dates?
    return cell