Какую библиотеку я должен использовать для написания XLS из Linux / Python? - PullRequest
7 голосов
/ 29 октября 2008

Я бы хотел хорошую нативную библиотеку Python для написания XLS, но ее, похоже, не существует. К счастью, Jython делает.

Итак, я пытаюсь выбрать между jexcelapi и Apache HSSF: http://www.andykhan.com/jexcelapi/tutorial.html#writing http://poi.apache.org/hssf/quick-guide.html

(Я не могу использовать автоматизацию COM, потому что я не на Windows, и даже если бы я был, я не мог позволить себе лицензии Office.)

Мои первые мысли о том, что POI / HSSF очень тщательный, но также и очень Java - все кажется немного сложнее, чем нужно. Хорошая документация, но у меня болит голова, пытаясь устранить разрыв между тем, что он описывает, и тем, что мне нужно сделать.

jexcepapi, кажется, имеет более простой, приятный (для меня) интерфейс, но не имеет очень хорошей документации или сообщества.

Что бы вы использовали и почему?

Ответы [ 5 ]

17 голосов
/ 29 октября 2008

Что не так с xlwt ?

3 голосов
/ 29 октября 2008

+ 1 для xlwt. Смотрите в блоге Мэтта Харрисона сообщения о , как использовать xlwt и , как работать с большими таблицами . Кроме того, проверьте группу python-excel в Google «Если вы используете Python для чтения, записи или других манипуляций с файлами Excel».

1 голос
/ 21 июля 2009

Я лично не советую JExcel, если вы намерены использовать что-то более, чем очень простой текст, чтобы преуспеть и наоборот.

более продвинутые функции абстрагированы от утечек из базового (в основном недокументированного) низкоуровневого кода / (задокументированного) спецификаций Excel.

еще одна проблема, с которой мы столкнулись, это то, что jexcel терпит неудачу при столкновении с неверными формулами. и если вам нужно проанализировать электронные таблицы, предоставленные клиентом, это проблема.

также новая версия POI поддерживает (почти), кажется, и xls, и xlsx одновременно.

1 голос
/ 29 октября 2008

Я бы использовал JExcelApi, но только потому, что я использовал его раньше. Никогда не трогал HSSF. Самый большой ограничитель шоу, который я могу вспомнить, это то, что JExcelApi не поддерживает несколько форматов в одной ячейке (например, половина текста выделена жирным шрифтом, другая половина - курсивом или чем-то в этом роде). Я думаю, что в целом JExcelApi более ограничен, чем HSSF, но ограничения никогда не мешали мне.

И да, документации для интерфейса немного (и нет для базовых механизмов), но я подумал, что это выполнимо ...

0 голосов
/ 29 октября 2008

Excel предоставляет тот же API-интерфейс автоматизации OLE, который используется VBA, всему, что поддерживает COM. Вы можете использовать win32com (который по умолчанию включен в ActiveState Python) для работы с электронными таблицами практически так же, как в VBA.

...