LoginSignup
1
3

More than 3 years have passed since last update.

Java sample code 03

Last updated at Posted at 2020-03-21

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();
            }
        }
    }

}
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3