как записать в XLS с помощью python без изменений формата?

Есть ли способ записать что-то в файл XLS с помощью python, сохраняя при этом исходный формат этого файла XLS неизменным (например, размер шрифта, цвет фона ячейки и т. д.) Спасибо!


person ladyfafa    schedule 29.03.2011    source источник


Ответы (4)


Возможно, взгляните на xlrd, xlwt, xlutils:

http://www.python-excel.org/

Я нашел это довольно полезным в прошлом.

person juanchopanza    schedule 29.03.2011
comment
Спасибо! Я попробовал xlutils.copy, но он полностью изменил исходные стили... - person ladyfafa; 29.03.2011
comment
Это должно помочь, следуя аналогичному совету @john machin, я заставил его работать: stackoverflow.com/questions/3723793/ - person juanchopanza; 29.03.2011

Если вы можете перейти на XML-сериализацию документов Office. Также взгляните на... http://www.python-excel.org/

person Manuel Salvadores    schedule 29.03.2011

Вы также можете использовать pywin32, если вы используете Windows

person Fábio Diniz    schedule 29.03.2011
comment
@ladyfafa: Fabio означает: используйте COM-интерфейс в pywin32, чтобы напрямую использовать COM-интерфейс Excel. Это самое мощное и гибкое решение (вы можете делать все, что можно делать в Excel), но вы должны работать в системе Windows с установленным Excel. - person winwaed; 29.03.2011

Если доступные инструменты, такие как xlrd, xlwt и xlutils, не работают, возможно, вам придется вернуться к программному редактированию файла с помощью Excel через COM. Конечно, вам понадобится копия Excel, вам придется работать из Windows, и это будет медленнее, чем другие подходы.

person Steven Rumbalski    schedule 29.03.2011
comment
Excel COM также является единственным способом создания/редактирования рабочих листов Excel 2007/2010 на данный момент. Я знаю, что хотел бы не-COM-решение для создания рабочих листов Excel 2007 и, в идеале, для их подписи. (Да, я знаю, что ОП специально запросил xls.) - person winwaed; 29.03.2011