openpyxl не корректно удаляет строки
Когда я удаляю строки через openpyxl то они удаляются не корректно. В каких то местах даже остаются. Нужна удалить строки полностью, как это делает excel. Заранее спасибо за помощь.
import openpyxl
this_book = openpyxl.open( "example.xlsx" )
this_book.active = 1
def result_i():
''' Функция заполняет таблицу и возвращает строку на которой закончилось заполнение '''
return 10
i = result_i()
if i < 255:
#В нашем шаблоне 255 строк и на 255 расположена формула которая считает таблицу.
#В теории из-за удаления строк она должна перемещатся на верх.
this_book.active.delete_rows(i, 255-i)
this_book.save("result.xlsx")
this_book.close()
https://drive.google.com/file/d/1KINvDVnSBvAFu7A-Yv3hV-gfWDspLDcg/view?usp=sharing
Ответы (1 шт):
Автор решения: Incover
→ Ссылка
Так как Microsoft Office удаляет слияние ячеек, я ожидал такого же поведения и у openpyxl. Но как оказалось строки удаляются, а слияние ячеек остается. Решение проблемы.this_book.active.merge_cells( 'A2:A' + str(i) )
А вот так вот я исправлял формулы. this_book.active['H' + str(i)].value = '=SUM(H4:H'+str(i-1)+')'
