Как читать электронную таблицу Open Office?

Как прочитать электронную таблицу Open Office 3.0 (.ods) из Groovy? Я хотел бы выбрать определенные столбцы из именованного листа. В идеале было бы полезно добавить пункт «где» или другой пункт критерия.


person Community    schedule 22.10.2008    source источник


Ответы (5)


Я никогда им не пользовался, но Open Office имеет Java API, который, конечно же, можно использовать в Groovy. также. Похоже, лучше всего начать чтение с Руководства разработчика, справочник по Java UNO и примеры в Java и (привет!) Groovy. Надеюсь, это поможет!

person Matt Passell    schedule 15.11.2008

Может быть что-то здесь, на Spring Factory или здесь, на Groovy и JMX. Существует форум для Groovy и Open Office.

person bugmagnet    schedule 23.10.2008

Не могли бы вы экспортировать таблицу/электронную таблицу в виде записей SQL, а затем использовать это. Вы также можете посмотреть этот плагин для goovy -- http://www.ifcx.org/< /а>

person CodeJoust    schedule 01.05.2009

Документы OpenOffice представляют собой ZIP-файлы, которые содержат данные документа в формате XML, а также некоторые другие файлы (таблицы стилей для текстовых документов). Подробности можно найти здесь.

Основная проблема с calc — это формулы. Если у вас есть только табличные данные, вы можете просто прочитать значения ячеек и использовать их. Таким образом, вы можете открыть ZIP-архив, прочитать в нем content.xml и проанализировать его любым парсером XML.

Но когда ячейка содержит формулу, ее нужно выполнить. В этом случае вам придется открыть документ через UNO API. Вот версия Java. Существует ссылка, по которой вы можете скачать пример кода, который объясняет, как открывать документы ODF и как проверять их содержимое. Есть также фрагменты, но ни один из них не показывает, как исследовать лист.

Главный недостаток UNO — документация. Каждый метод где-то объясняется, но сначала вы должны найти метод, который решает вашу проблему.

person Aaron Digulla    schedule 17.10.2012

Поскольку в заголовке не упоминается Groovy (упоминается только конкретный вопрос), я не хотел создавать новый вопрос.

Как вообще читать табличный документ Open Office? Есть инструменты для его создания (ooo-python), но не для его чтения. Это XML, но простое погружение в него и попытка получить правильную логику извлечения данных, которые мне нужны, кажутся неоптимальными.

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

person akauppi    schedule 29.04.2009
comment
-1 Не размещайте больше вопросов в разделе ответов. Откройте новый вопрос, если на ваши конкретные данные нет ответа и, возможно, ссылку на этот вопрос (Нравится этот вопрос, но мне нужно знать...) - person Aaron Digulla; 17.10.2012