Java Apache POIを使って、Wordファイルを読み込む




どちらかと言えば、Excel派なんですが、、今回はWordファイルを開いてみます。

Apache POIの入手

入手方法はこちらの記事をどうぞ。
Excelの例で書いてますが、同じもので大丈夫です。

Java Apache POIを使って、Excelファイルを読み込む

2023.04.28

Apache POIを使って、Wordファイルを読み込むサンプル

Wordファイルを読み込んで、標準出力します。
Wordファイルの中身は、とりあえずLorem ipsumってことで。。

実行結果

こんな感じでLorem ipsumが出力されます。
ついでに、log4j-coreの設定に関するエラーが表示されます。

エラーが気になるようでしたら、log4jを設定しましょう。

サンプルの解説

XWPFDocumentにWordのドキュメントファイルのストリームを渡すことで、Wordファイルを開くことができます。
あとはドキュメントからXWPFDocument#getParagraphs()で段落を取得。段落からXWPFParagraph#getRuns()でプロパティセットを取得。
その中からXWPFRun#getText(int)でテキストを取得できます。

ポイントは、プロパティセットなのですが、これはフォントが違ったりすると分かれてしまいます。
また、Lorem文だとそんな単語無いけど・・なエラーがWordで出ます。これもプロパティセットが分かれる要因になりますので、今回はすべてWord上で無視を設定した後に出力してます。