SAMPLE GALLERYに掲載されたソースを疎通してimport文も付けました。
3.java poi Word
poiのjarファイルをダウンロード必要
- install(https://poi.apache.org/)
- Wordファイルの作成
- Wordファイルに文字を書く
- 文字を太字にする
- 文字をイタリックにする
- 文字に下線を引く
- 文字の色を設定
- タブを付ける
- 取消線を付ける
- 二重取消線を付ける
- フォントサイズを指定する
- フォントを指定する
- 改行を入れる
3.java poi Word
3-0.download&install
下記のサイトからダウンロードしたbinファイルから、「*.jar」ファイルをProjectにコピーする
https://poi.apache.org/
https://xmlbeans.apache.org/download/
- サブコンポーネント
- POIFS (Poor Obfuscation Implementation File System)
- HSSF (Horrible SpreadSheet Format) - Microsoft Excel (XLS) 形式のファイルを扱う。
- XSSF (XML SpreadSheet Format) - Office Open XML Workbook形式のファイルを扱う。
- HWPF (Horrible Word Processor Format) - Microsoft Word (DOC) 形式のファイルを扱う。
- XWPF (XML Word Processor Format) - Office Open XML Document形式のファイルを扱う。
- HSLF (Horrible Slide Layout Format) - Microsoft PowerPoint (PPT) 形式のファイルを扱う。
- XSLF (XML Slide Layout Format) - Office Open XML Presentation形式のファイルを扱う。
- HPSF (Horrible Property Set Format) - Microsoft Officeのドキュメントサマリーを読むコンポーネント。
- HDGF (Horrible DiaGram Format) - Microsoft Visio形式のファイルを扱う。
- HPBF (Horrible PuBlisher Format) - Microsoft Publisher形式のファイルを扱う。
- HSMF (Horrible Stupid Mail Format) - Microsoft Outlook (MSG) 形式のファイルを扱う。
3-1.Wordファイルの作成
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
wordFile.write(os);//ここでワードファイルを作成しています。
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-2.Wordファイルに文字を書く
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile2.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");//ここで文字を書いています。
run.setText("かきくけこ");
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-3.文字を太字にする
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");
run.setBold(true);//ここで太字にしています。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-4.文字をイタリックにする
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");
run.setItalic(true);//ここでイタリックにしています。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-5.文字に下線を引く
import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");
run.setUnderline(UnderlinePatterns.DOUBLE);//ここで下線を引いています。下線の種類は「UnderlinePatterns」のクラスで選択できます。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-6.文字の色を設定
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");
run.setColor("FF0000");//ここで文字の色を指定しています。16進数。「RRGGBB」。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-7.タブを付ける
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.addTab();//ここでタブを付けています。
run.setText("あいうえお");
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-8.取消線を付ける
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");
run.setStrikeThrough(true);//ここで取消線を付けています。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-9.二重取消線を付ける
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");
run.setDoubleStrikethrough(true);//ここで二重取消線を付けています。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-10.フォントサイズを指定する
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("あいうえお");
run.setFontSize(20);//ここでフォントのサイズを変更しています。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-11.フォントを指定する
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Hello World.");
run.setFontFamily("Times New Roman");//ここでフォントを指定しています。
run.addCarriageReturn();
run = paragraph.createRun();
run.setText("Hello World.");
run.setFontFamily("MS ゴシック");//ここでフォントを指定しています。
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
3-12.改行を入れる
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SamplePoi {
public static void main(String[] args) throws IOException {
OutputStream os = null;
try {
os = new FileOutputStream("TestWordFile.docx");
XWPFDocument wordFile = new XWPFDocument();
XWPFParagraph paragraph = wordFile.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Hello World.");
run.addCarriageReturn();//ここで改行を入れています。
run.setText("Hello World.");
wordFile.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}