docs: def get_rowspanned_columns(self):
          """Return a dictionary mapping column indices to the number of columns
          spanned."""
          spanned_columns = {}
          current_row_index = self._index
          current_row_cols = sum(cell.colspan for cell in self)
          prev_rows = iter(reversed(self.section[:current_row_index]))
          while current_row_cols < self.section.num_columns:
              row = next(prev_rows)
              min_rowspan = current_row_index - int(row._index)
              if row.maximum_rowspan > min_rowspan:
                  for cell in (c for c in row if c.rowspan > min_rowspan):
                      col_index = int(cell.column_index)
                      spanned_columns[col_index] = cell.colspan
                      current_row_cols += cell.colspan
          return spanned_columns