'allow grouping a range of consecutive columns together
:param start: first column to be grouped (mandatory)
:param end: last column to be grouped (optional, default to start)
:param outline_level: outline level
:param hidden: should the group be hidden on workbook open or not'

def group(self, start, end=None, outline_level=1, hidden=False):

    if (end is None):
        end = start
    new_dim = self[start]
    new_dim.outline_level = outline_level
    new_dim.hidden = hidden
    work_sequence = get_column_interval(start, end)[1:]
    for column_letter in work_sequence:
        if (column_letter in self):
            del self[column_letter]
    (new_dim.min, new_dim.max) = map(column_index_from_string, (start, end))
