#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.