apache poi против python xlrd

#java #python #excel #apache-poi

#java #python #excel #apache-poi

Вопрос:

Я собирался использовать apache poi или python xlrd в Linux для чтения электронных таблиц в программе на Linux. Я склоняюсь к python xlrd, но apache poi кажется мне более полным проектом (вероятно, поскольку его поддерживает apache foundation). Что было бы лучшим выбором (я склонен к python, но все же ..)? Я хотел бы иметь возможность читать большинство версий Excel и читать макросы.

Ответ №1:

В зависимости от сложности ваших потребностей, потенциально вы могли бы просто использовать CLI Apache Tika. Tika обрабатывает обмен данными с POI (и другими библиотеками) и вернет вам версию документа в формате XHTML или обычный текст. Если вам просто нужна простая команда Linux, этого может быть достаточно.

В противном случае это может зависеть от ваших навыков работы с Java. POI должен делать все, что вам нужно, но вам нужно будет написать немного кода, чтобы захватить те фрагменты, которые вас интересуют. Взгляните на краткое руководство, чтобы начать.

(Я не знаю о xlrd, извините)

Комментарии:

1. Я в основном хотел запустить это на веб-сервере. Если это java, то я думаю, мне придется написать jsp, чтобы позволить людям использовать его. Тем не менее, мне нужно больше функций, таких как извлечение формул и т.д., А не просто обычного текста. Apache POI был бы хорош для этого, я думаю?

2. Поиграйте с Tika, поскольку вы можете обнаружить, что она действительно дает то, что вам нужно, — формулы для записи и тому подобное, а интеграция Tika с SOLR может помочь в веб-интерфейсе. В противном случае существует множество хороших веб-фреймворков Java, которые позволят вам отображать ваши данные, извлеченные из POI, без необходимости прикасаться к JSP!

Ответ №2:

Одним из вариантов, который потенциально может предоставить лучшее из обоих миров, было бы использовать Apache POI через Jython (синтаксис python с взаимодействием java).

Вот устаревший пример jython … я считаю, что это нужно будет изменить с помощью более новой версии POI.