表形式のデータ保存には、CSV形式のテキストファイルを用いるのが一般的です。しかし、用途によっては、Microsoft Excelで作成したような見栄えの良い表形式での出力を求められることがあります。
そこで、本稿では「POI」と呼ばれるJavaのライブラリを使用して、Excelファイルを出力する方法を紹介します。POIは、ExcelやWordなどの「Microsoft OLE 2複合ドキュメント形式」に準拠したファイルをJavaで扱うためのAPI群です。ここでは、POIの中でExcel出力を行う「HSSF」と呼ばれるコンポーネントを使用する例を紹介します。
注:POIの入手先や必要なJARファイルについては、「サーバサイド技術の学び舎 - WINGS」にある「サーバサイド環境構築設定」を参照してください。
以下は、先ほど示したExcelファイルをJavaから生成するためのプログラムです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Excelのオブジェクト操作には、下記のクラスを使用します。ブック、シート、行、セルから構成されるクラス構造は、Excelの構造を直観的に表しているものなので、分かりやすいでしょう。
クラス名 | 説明 | |
---|---|---|
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.