倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

グルグルポイ (1) : POI のオブジェクト・モデル

以前から「使えると便利だなぁ」と思っていた Apache POI (Spread Sheet) をちょっといじってみたので、使い方をさわりだけ書いてみます。

POI のオブジェクト・モデル


アプリケーションの外観

オブジェクト・モデルの(包含)関係を、アプリケーションで開いた外観から見てみましょう。 下図では OpenOffice で Spread Sheet を開いています。

クラス図

同じものをクラス図で書くと次のようになります:

Workbook の実装クラス


Workbook インターフェースの実装クラスには次の2つがあります:

  • org.apache.poi.hssf.usermodel.HSSFWorkbook : MSOffice Excel 形式 (.xls)
  • org.apache.poi.xssf.usermodel.XSSFWorkbook : OOXML 形式 (.xlsx)

これらは普通にコンストラクタからインスタンス生成を出来ます。

子要素のインスタンス生成


上記のように Workbook のインスタンスを取得すれば、後は実装に依存しないように上位クラスのオブジェクトからインスタンスを生成します。

Workbook workbook = new HSSFWorkbook();

// Sheet の作成
Sheet sheet = workbook.createSheet(0);

// Row の作成
Row row = sheet.createRow(0);

// Cell の作成
Cell cell = row.createCell(0);

各 createXxxx() メソッドに渡されている int は行や列の(0から始まる)インデックスです。