#python #excel #openpyxl
Вопрос:
У меня есть очень простая электронная таблица с галочками, которую я хочу изменить с помощью Python. Когда я использую workbook.save()
, галочки по какой-то причине исчезают.
Это упрощенная версия сценария, который я использую, который все еще воспроизводит проблему.
from openpyxl import load_workbook
workbook = load_workbook(filename='example.xlsx')
workbook.sheetnames
workbook.active = 0
sheet = workbook.active
sheet
sheet.title
workbook.save(filename="example.xlsx")
Это электронная таблица перед запуском сценария.
Это электронная таблица после запуска скрипта.
У меня есть openpyxl 3.0.7, и я не получаю никаких сообщений об ошибках. Когда я пытаюсь установить старую версию openpyxl, например pip 3.0.5, и открываю электронную таблицу, я получаю это сообщение.
Мы обнаружили проблему с example.xlsx, мы можем попытаться восстановить его содержимое.
Я не знаю, может ли эта информация помочь.
Если вы хотите открыть электронную таблицу здесь, у вас есть.
Ответ №1:
Вы должны использовать .xlsm
файлы вместо .xlsx
и вы должны писать:
load_workbook(filename='example.xlsm', read_only=False, keep_vba=True)
вместо:
load_workbook(filename='example.xlsm')