OpenPYXL - открыть / сохранить форматирование изменений - PullRequest
0 голосов
/ 18 января 2019

У меня есть файл Excel, содержащий несколько расписаний, и по какой-то причине при его сохранении форматирование теряется.

Код действительно прост:

from openpyxl import Workbook
inoutXL = load_workbook(sys.argv[3])
inoutXL.save(sys.argv[3] + ".xlsx")

Размер файла Excel составляет 274 КБ, оригинала - 351 КБ. Почему это происходит? Форматирование полностью изменилось.

Примечание. Первоначально у меня был некоторый код, который изменял бы значения в листах, но я свел его к открытию / сохранению файла, уже вызывающего проблемы.

1 Ответ

0 голосов
/ 18 января 2019

openpyxl не является Excel, поэтому файл не будет байтовым идентичным, несмотря ни на что. Что касается форматирования, может быть, есть какое-то форматирование в оригинале, которое openpyxl не поддерживает? Глядя на похожие вопросы о SO за последние 2 года или около того, и связанные с ними проблемы Bitbucket , кажется, что эмулирование форматирования Excel точно очень трудно сделать. Возможно, вы захотите поднять этот вопрос там.

Единственный способ получить поведение, которое именно то, что делает Excel, состоит в том, чтобы использовать модуль, который связывается с Excel через COM (win32com или xlwings) и заставляет Excel выполнять фактическую работу.

(Предлагается в качестве ответа по совету Уолтера Тросса)

...