Groovy から Open Office 3.0 スプレッドシート (.ods) を読み取るにはどうすればよいですか? 名前付きワークシートから特定の列を選択したいと思います。理想的には、「where」句またはその他の基準句を追加すると便利です。
5 に答える
私は使ったことはありませんが、Open Office には Java APIがあり、もちろん Groovy からも使用できます。読み始めるのに最適な場所は、Developer's Guide、Java UNO Reference、およびJavaと (ちょっと!) Groovyのサンプルです。それが役立つことを願っています!
ここSpring FactoryまたはここGroovyとJMXで何かかもしれません。Groovy と Open Officeのフォーラムがあります。
OpenOffice ドキュメントは、ドキュメント データを XML として含む ZIP ファイルと、その他のファイル (Word ドキュメントのスタイル シート) です。詳細はこちらをご覧ください。
calc の主な問題は数式です。表形式のデータしかない場合は、セルの値を読み取ってそれを使用するだけです。したがって、ZIP アーカイブを開き、その中の を読み取り、content.xml
任意の XML パーサーで解析できます。
ただし、セルに数式が含まれている場合は、それを実行する必要があります。この場合、UNO API を介してドキュメントを開く必要があります。ここに Java のバージョンがあります。ODF ドキュメントを開く方法とその内容を調べる方法を説明するサンプル コードをダウンロードできるリンクがあります。スニペットもありますが、シートを調べる方法を示すものはありません。
UNO の主な欠点はドキュメントです。各方法はどこかで説明されていますが、まず問題を解決する方法を見つける必要があります。
テーブル/スプレッドシートを SQL エントリとしてエクスポートし、それを使用していただけますか。goovy 用のこのプラグインを見ることもできます -- http://www.ifcx.org/
タイトルでは Groovy について言及していないため (質問の詳細のみが言及されています)、これを新しい質問にしたくありませんでした。
Open Office スプレッドシート ドキュメントの一般的な読み方 作成するためのツール (ooo-python) はありますが、読み取るためのツールはありません。それらはXMLですが、率直にそれに飛び込んで、必要なデータを抽出する正しいロジックを取得しようとするのは、最適ではないようです。
私が欲しいのは、Excel COM サポートに似た機能ですが、コマンド ライン ツール (またはスクリプト言語) からのものです。