@Zaharov

Работа с файлами Excel в питоне на Линуксе

Общая задача такова: необходимо написать нечто вроде шаблонной системы для экселевских файлов, т.е. на входе есть файл, в которыми метками проставлены места для вставки данных, а на выходе даётся сгенерированный по этому шаблону файл с нужными данными.

xlutils, к сожалению, не подходит, т.к. убивает всё оформление подчистую. По идее можно используя win32com работать напрямую через Эксель, но останавливает, то что очень не хотелось бы связываться с Windows.
Конечной идеей стало использовать OpenOffice, вроде как есть Python Uno Bridge и Danny's OpenOffice.org library. Но дело в том, что мне хотелось бы использовать LibreOffice и не понятно насколько соответствует LO написанное для OO.

Итоговые вопросы следующие: есть ли решения задачи более простые чем использование uno? И возможно ли использовать LibreOffice вместо OpenOffice?
  • Вопрос задан
  • 4457 просмотров
Решения вопроса 1
mjr27
@mjr27
Рабочих варианта 4:
1) uno. медленно (очень! на моих бенчмарках получалась обработка ~10-20 ячеек/секунду), печально, ОО должен быть запущен на той же машине что и скрипт. плюсы — собственно 100я гарантия
2) xslx — как уже сказали, очень простой формат, парсится «руками».
3) xlutils — странно что убивал оформление если честно, xlutils.copy мои подобные задачи решал на 100% (не без напильника, да).
4) (editor's choice) формировать xlsx, потом через OO при необходимости конверить в xls. 2-3 секунды на файл
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Хм… а вам нужен какой формат файла на выходе? xls или xlsx? Просто во втором случае его наверное быстрее и проще собирать ручками из готового xlsx распаковав и правив xml напрямую.
Хотя даже если вам нужен xls, то полученный таким образом xlsx можно при помощи command-line утилиток быстро конвертить в xls или во что еще.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы