Separate outlining from formatting for column (and possiby row dimensions)
As per #1988 (closed) the implementation of column dimensions is probably too close the OOXML which is at best vague and at worst downright misleading.
The major problem with the specification is that it conflates column specific attributes such as width, with cell formats even though these are not applied and outlining definitions for groups of columns. This is less of a problem for rows, not least because grouping is implied solely through the outline level.
The proposal is to create a separate worksheet level object solely for grouping columns for outlining purposes. This would make the API more explicit: ws.column_groups
would only contain ranges with the relevant outlining settings; ws.column_dimensions
would only contain information for individual columns with groups not possible.
When reading existing worksheets groups would be checked for their attributes. Outlines would be added to column_groups, formatting would be split into individual columns.
The definition can be preserved at serialisation time because the format allows multiple definitions with precedence being given to the last definition.
It is to be decided as to whether an orthogonal property should exist for row groups because these do not implement grouping directly.