0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「Apach POI」を使ってJavaでExcelファイルを操作してみた

Last updated at Posted at 2022-10-21

JavaからExcelファイルを操作できるようにするライブラリ「Apach POI」を使ってみました。
プログラミングを初めるときにどの言語でも最初に行う「Hello World」みたいに、
動きましたー!すごいー!、、、のような内容です。

ちなみに、Excelが無い環境でも動きます。ちょっと感動しました。
(Excelが入っていないプライベートPCでもxlsxファイルを出力できました)

開発環境

  • Eclipse:202209
  • Java:SE11
  • Apach POI:5.2.3

環境構築

まずは、主役となる「Apach POI」を以下からダウンロード
https://poi.apache.org/
ダウンロード→「Binary Distribution」→「poi-bin-5.2.3-20220909.zip」→「HTTP」

Eclipse上の操作

  • 新規「Javaプロジェクト」
  • Java11
  • 「ライブラリ」→「クラスパス」→「外部JARの追加」
  • 解凍したフォルダの中のjarファイルをすべて追加する

今回はシンプルに何も考えず環境構築をしました。

実践

以下ソースです。

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Main{
    public static void main(String[] args){
        try{
            //まっさらなworkbookを作る
            XSSFWorkbook workbook = new XSSFWorkbook();
            XSSFSheet sheet = workbook.createSheet();
            XSSFRow row = sheet.createRow(0);
            XSSFCell cell = row.createCell(0);
            cell.setCellValue("セルに値を書き込めるよ");
            String path = "C:/Users/XXX/Desktop/";
            String fileName = "complete.xlsx";
            FileOutputStream output = new FileOutputStream(path + fileName);
            workbook.write(output);
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

ファイルを開いた結果が以下になります。
image.png

指定したパス、指定したファイル名で出力されていることを確認出来ました。
下記のコードを追加すれば、上の画像のようにシート名を設定できます。
そして、getSheetで対象のシートを操作出来ます。

workbook.setSheetName(0, "sample");
sheet = workbook.getSheet("sample");

終わりに

JavaからExcelファイルを出力できるだけでちょっと感動しました。
読み込むことも可能なので、簡易的なDBのように使うことも出来そうです。
次回以降試してみようと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?