POIを使用してJavaからExcel出力を行う : JavaTips 〜Apache/Jakarta編 
 表形式のデータ保存には、CSV形式のテキストファイルを用いるのが一般的です。しかし、用途によっては、Microsoft Excelで作成したような見栄えの良い表形式での出力を求められることがあります。
 そこで、本稿では「POI」と呼ばれるJavaのライブラリを使用して、Excelファイルを出力する方法を紹介します。POIは、ExcelやWordなどの「Microsoft OLE 2複合ドキュメント形式」に準拠したファイルをJavaで扱うためのAPI群です。ここでは、POIの中でExcel出力を行う「HSSF」と呼ばれるコンポーネントを使用する例を紹介します。
POIによって生成されたExcelファイル  以下は、先ほど示したExcelファイルをJavaから生成するためのプログラムです。
PoiSample.java 
        
          package to.msn.wings;//新規ワークブックを作成する //新規ワークシートを作成する //作成したシート名を変更 //日本語シート名を指定する場合には //エンコーディング設定は必須 //行オブジェクトの作成(行番号は0スタート) //セルオブジェクトの作成(セル番号は0スタート) //引数はshort型でキャストしなければならない点に注意 //セルに値を設定する //セルに日本語の値を設定する //日本語の値を指定する場合には //エンコーディング設定は必須 //作成したワークブックを保存する   
      
 
 Excelのオブジェクト操作には、下記のクラスを使用します。ブック、シート、行、セルから構成されるクラス構造は、Excelの構造を直観的に表しているものなので、分かりやすいでしょう。
POI(HSSF)に含まれる主要なクラス 
クラス名 
説明 
 
HSSFWorkbook 
Excelのワークブックを扱うクラス 
 
HSSFSheet 
ワークシートを扱うクラス 
 
HSSFRow 
行を扱うクラス 
 
HSSFCell 
セルを扱うクラス 
 
 このサンプルプログラムの詳細については、コード内にあるコメントを参考にしてください。ここでは、POIを利用する際の定型的なコードの流れを以下に示しておきます。
新規ワークブックの作成(HSSFWorkbookクラス) 
新規ワークシートの作成(HSSFWorkbook#createSheetメソッド) 
対象列の取得(HSSFSheet#createRowメソッド) 
対象セルの取得(HSSFRow#createCellメソッド) 
セル値の設定(HSSFCell#setCellValueメソッド) 
ファイル保存(HSSFWorkbook#writeメソッド) 
 
 これが、POIを利用してExcelファイルを新規作成する場合の基本的な手続きになります。今後紹介する、より複雑なファイル出力例を説明する際の基本となりますので、上記のコードと照らし合わせて、しっかり理解しておいてください。
 
Copyright © ITmedia, Inc. All Rights Reserved.