Как читать электронную таблицу Open Office? - PullRequest
3 голосов
/ 23 октября 2008

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

Ответы [ 5 ]

1 голос
/ 15 ноября 2008

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

0 голосов
/ 17 октября 2012

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

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

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

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

0 голосов
/ 01 мая 2009

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

0 голосов
/ 29 апреля 2009

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

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

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

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

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

...