@mezigar

Как узнать, что ячейка является объединенной?

Нужно пройтись по таблице в определенных столбцах и считать данные, но некоторые ячейки могут быть объединенными, поэтому их нужно разъеденить и считать\перезаписать данные.
for cell in column_shablon_cells:
    #^^merged_range^^
    if (cell in sheet.merged_cells.ranges): # узкое горлышко
        unmerge_cells(cell)
    print(cell.col_idx)

Ругается на строчку с условием:
TypeError: class 'openpyxl.cell.cell.Cell'
  • Вопрос задан
  • 622 просмотра
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
Для определения, является ли ячейка объединённой, есть куча способов.

Например, cell.CurrentRegion.Count возвращает количество отдельных ячеек объекта cell - соответственно для объединённой ячейки он вернёт значение больше единицы.

Если ячейка является объединённой, то противоположный угол можно получить так: cell.Offset(1,1).Offset(-1,-1).Address. Зная ядрес ячейки и адрес противоположного угла, несложно обычной конкатенацией построить адрес для обратного объединения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы