Wordファイルが作れると、便利ですよね。
Apache POIを使って、Wordファイルを書き込むサンプル
Wordファイルに文字列を書き込みます。
書き込む内容は読み込みと同じで、とりあえずLorem ipsumってことで。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import java.io.FileOutputStream; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; public class WordFileWriteTest { private static final String CRLF = System.lineSeparator(); public static void main(String[] args) { String str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." + CRLF + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." + CRLF + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + CRLF + "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + CRLF; try (XWPFDocument document = new XWPFDocument(); FileOutputStream fos = new FileOutputStream("c:\\work\\output.docx")) { //段落を作成 XWPFParagraph p = document.createParagraph(); //段落にプロパティセットを作成して、文書を追加 XWPFRun run = p.createRun(); run.setText(str); //Wordファイルを書き込み document.write(fos); } catch (Exception e) { e.printStackTrace(); } } } |
実行結果
こんな感じでWordファイルが出力されます。
サンプルの解説
XWPFDocumentを作成して、XWPFDocument#createParagraph()で段落作成。
XWPFParagraph#createRun()で段落からプロパティセットを作成。
XWPFRun#setText(String)で文字列をセットすることで、Word文書にテキストを追加することができます。
あとは、XWPFDocument#write(OutputStream)で指定のストリームに出力するだけです。
ここでは、このストリームにFileOutputStreamを指定しているので、ファイル出力になりますね。
※Apache POIの入手方法はこちらの記事をどうぞ。
Excelの例で書いてますが、同じもので大丈夫です。