Openpyxl delete_rows не полностью удаляет строки, если установлена ​​высота строкиPython

Программы на Python
Anonymous
Openpyxl delete_rows не полностью удаляет строки, если установлена ​​высота строки

Сообщение Anonymous »

Есть предложения? Если я когда-либо увеличу высоту строки в openpyxl, появится delete_rows для удаления строк, но когда я сохраняю и открываю в Excel, строки становятся пустыми, но не вся информация о строках удаляется. Полоса прокрутки по-прежнему прокручивается до того места, где была последняя строка перед удалением. Так и остаются «призраки» пустых строк. Пример кода:

Код: Выделить всё

from openpyxl import Workbook

# Create a new workbook and select the active sheet
wb = Workbook()
ws = wb.active

# Write values into the cells
for row in range(1, 101):
for col in range(1, 6):
cell = ws.cell(row=row, column=col)
cell.value = f"Cell {row}-{col}"

# Set row height
for row in ws.iter_rows():
ws.row_dimensions[row[0].row].height = 14.4

# Unset row height
for row in ws.iter_rows():
ws.row_dimensions[row[0].row].height = None

# Delete the rows
ws.delete_rows(35, 100-35)

# Save the workbook
wb.save('test.xlsx')
  • Если я закомментирую оба цикла высоты строки, это будет работать правильно.
  • Если какой-либо цикл включен, остатки пустые строки остаются.


Подробнее здесь: https://stackoverflow.com/questions/786 ... ght-is-set

Вернуться в «Python»