いわゆるワード文書やスプレッドシートを、ソフトウェアから自動生成するにはどんな方法があるかの調査メモです。
Javaから生成するのを念頭に置いてます。
そんなに突っ込んで調べてるわけではなくて、適当にググった結果の上位3-5くらいのURLを漁っただけの、浅い内容です。
Microsoft社提供のSDK:
JavaからOffice文書を生成するので有名なApachePOI関連:
OpenOffice.org と LibreOffice の両方で、マクロとして、あるいは外部プログラムからドキュメントを操作するためのAPIが公開されており、最近だとこちらを使ったほうが良いかもしれない。
どちらも、OpenOffice.org で開発されている "UNO" (Universal Netowrk Objects) という、RPCを複数言語でBINDしたようなアーキテクチャの上でAPIを公開しているため、JavaやPython、.NETなどから利用できるようになっている。
OpenOffice.orgでのAPIとUNO関連資料:
LibreOfficeでのAPIとUNO関連資料:
OpenOffice.orgはApacheライセンスですが、LibreOfficeはGPLv3という点に注意が必要かもしれません。
ちなみに、Webアプリなどから非同期でマルチスレッドで呼び出すような用途だとどうなるんだろう・・・と、"uno multithread"でぐぐったらこんなのが見つかりました。対応してるのか、してないのか、ちょっとまだ調べきれてないです。
コメント