Какую библиотеку я должен использовать для написания XLS из Linux / Python?

StackOverflow https://stackoverflow.com/questions/245225

Вопрос

Я хотел бы, чтобы хорошая нативная библиотека 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, кажется, имеет более простой, приятный (для меня) интерфейс, но не имеет очень хорошей документации или сообщества.

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

Это было полезно?

Решение

Что не так с xlwt ?

Другие советы

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top