Я тестировал функцию openpyxl .remove (), и она работает с несколькими пустыми файлами.
Проблема: у меня есть более сложный файл Excel с несколькими листами, который мне нужно удалить. Если я удаляю один или два, он работает, когда я пытаюсь удалить три или более, Excel выдает ошибку при открытии файла.
Извините, у нас проблемы с получением информации в файле bla bla .. ...
логи, говорящие о проблемах с картинками
логи об ошибке 105960_01. xml?
Странно то, что речь идет о проблемах с изображениями, но у меня нет этой ошибки, если я не удалю 3 или более листов. И я не пытаюсь удалить лист с изображениями!
Еще более странно, это всегда номер, каждый файл можно удалить без проблем, но если я удалю 3 или более, Excel кричит на меня.
Дело в том, что это нормально, когда Excel «исправляет» «ошибку», но иногда Excel повторно инициализирует формат листов (размер ячейки, полужирный шрифт и длина символов и т. Д. c ...) и все терпит неудачу: (
плохой вид, которого я хочу избежать
Если у кого-то есть идея, у меня заканчивается творчество!
Для кода я использую только базовые c функции (здесь можно упростить, но было бы долго представлять больше ...).
INPUT_EXCEL_PATH = "my_excel.xlsx"
OUTPUT_EXCEL_PATH = "new_excel.xlsx"
wb = openpyxl.load_workbook(INPUT_EXCEL_PATH)
ws = wb["sheet1"]
wb.remove(ws)
ws = wb["sheet2"]
wb.remove(ws)
ws = wb["sheet3"]
wb.remove(ws)
wb.save(OUTPUT_EXCEL_PATH)