JavaでOLEオートメーションを使用することは可能ですか?そうでない場合、なぜJavaでは不可能なのですか?
さまざまな形式(つまり、.csvなど)でExcelスプレッドシートのエクスポートを自動化することを検討しています。
事前に回答ありがとうございます:)
JavaでOLEオートメーションを使用することは可能ですか?そうでない場合、なぜJavaでは不可能なのですか?
さまざまな形式(つまり、.csvなど)でExcelスプレッドシートのエクスポートを自動化することを検討しています。
事前に回答ありがとうございます:)
最近(2013年3月)、独立した寄稿者がJNAに汎用COM自動化のサポートを追加しました。これは、JavaからのネイティブプラットフォームAPI統合に関して立っている最後の人物です。Jawin / JACOB / etcとは異なり、JNAは依然として非常に積極的に維持されています。
使用方法の例については、こちらをご覧ください。これまでのところ、Office APIへの事前に作成されたバインディングは非常に単純ですが、コードを見ると、COM Automation API(IDispatch、Variantなど)を使用して、ほとんどすべてのCOMインターフェイスへの遅延バインディングを実行するのは非常に簡単です。
ただし、Office COM APIは、世界で最も頻繁に使用されるCOM APIであるため、より完全にバインドされることを望んでいます。おそらく、さまざまなAPIバージョンをカバーするために、「MSExcel2007.java」、「MSExcel2010.java」なども存在する可能性があります。したがって、これは非常に進行中の作業ですが、JNAは現在JACOB / Jawinと同じくらい一般的にCOM自動化に役立ち、非常に積極的に維持されているというボーナスがあります(2013年4月現在)。
JACOBを使用できます。ただし、十分に文書化されておらず、パフォーマンスが最高ではないため、多少の問題が発生します。また、対象とするWindowsのバージョンによっては、環境に合わせて正しく実行するのが難しい場合があります。スケーラブルなWebアプリケーションを構築している場合は、絶対に使用しません。もう1つのオプションはApachePOIです。これは、その初期のルーツから本当に長い道のりを歩んできており、JBossDroolsのような多くの本番用ツールで使用されています。JACOBを使用する場合は、次のSOスレッドを読むことをお勧めします。
あなたが探しているものを正確に可能にするJACOBと呼ばれるライブラリがあります。「JavaAPIから」とはどういう意味ですか?公式のJ2SEパッケージからですか?J2SEには、特に単一のオペレーティングシステムでのみ動作する、考えられるすべてのニーズに対応するライブラリが含まれているわけではないということ以外に、どのように答えればよいかわかりません。そのため、サードパーティのパッケージが存在します。