@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'
  • Вопрос задан
  • 457 просмотров
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
Для определения, является ли ячейка объединённой, есть куча способов.

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

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

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

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 13:07
7000 руб./за проект
07 мая 2024, в 12:59
500 руб./за проект
07 мая 2024, в 12:58
25000 руб./за проект