JavaでOfficeを操作(Apache POI) | Hello, Stupid World!

Hello, Stupid World!

いろいろとメモ代わりに書いていきます。

しばらくはJavaのライブラリを紹介します。
まずはタイトルにあるとおりApache POIです。ポイとかピーオーアイとか読むらしい。
これ使えばWordやExcelファイルの読み書きができちゃいます。
しかもWordやExcelがインストールされてなくても使えるので
UnixなどでExcelファイルをPOI使って読み出してテキストファイルに
吐き出すとかできちゃいますよ。

ダウンロードは以下から。
http://poi.apache.org/download.html

今回は現在の最新安定板である3.9をインストールします。
Windowsなのでzip形式のものをダウンロードしました。

zipを解凍するとpoi-~.jarというものがいくつか存在します。
このjarファイルが必要なので適当な場所においておきます。

では、次にEclipseで実際に使うサンプルプログラムを作っていきます。

最初にjarファイルをインポートします。
「ファイル」メニュー→「インポート」→ファイルシステムを選び、表示されたダイアログから
jarファイルを選択します。



その後、プロジェクト下に追加されたjarファイルを全て選択し
右クリック→「ビルドパス」→「ビルドパスに追加」。
これで準備ができました。

テスト用のプログラムを書きます。

ファイル名は適当で。

「テストプログラム」
package poi;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;

public class testMain {
public static void main(String[] args) {
      Workbook wb = new HSSFWorkbook(); ・・・①
      Sheet sheet = wb.createSheet("test"); ・・・②
      Row row = sheet.createRow(1);  ・・・③
      Cell cell = row.createCell(0); ・・・④
      cell.setCellValue("こんにちは"); ・・・⑤

   FileOutputStream out = null;
   try{
     out = new FileOutputStream("HelloPoiWorld.xls");
     wb.write(out);
   }catch(IOException e){
     System.out.println(e.toString());
   }finally{
     try {
       out.close();
     }catch(IOException e){
       System.out.println(e.toString());
     }
   }
}
}

[解説]
HSSFWorkbookはワークブック(ファイル)を操作する為のクラスです。
 Excel2003までのxls形式を操作できます。
 2007からのxlsx形式を操作したい場合には
XSSFWorkbookを使います。

②①で作った
HSSFWorkbookクラスのcreateSheetメソッドにより
 シート操作用クラスを作成しています。
 引数はシート名です。

③行を操作する為のクラスをSheetの
createRowメソッドにより作成しています。
 引数は行番号になります。

④セルを操作する為のクラスをRowの
createCellメソッドにより作成しています。
 引数は列を表した番号になります。

⑤CellのsetCellValueメソッドによりセルに値をセットしています。
 日本語も問題無くOKです。

[実行結果]



すごい簡単な解説になりましたが、それだけ簡単に使えるように作られていると
いう事です。
Officeはビジネスで必須のものですし、それがシステム上で利用できるなら
システムの利便性は相当上がるのでは無いでしょうか。