倭マン's BLOG

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

PoiBuilder で Quick Guide (5) : 違ったタイプのセル

今回は違ったタイプのセル (Working with different types of cells) です(一覧)。

Java コード


セルの値としてセットできるオブジェクトの型は

  • java.lang.String
  • RichTextString
  • double
  • boolean
  • java.util.Date
  • java.util.Calendar

の6つあります。 それぞれの型に対して setCellValue() メソッドがオーバーロードされています:

    Workbook wb = new HSSFWorkbook();
    Sheet sheet = wb.createSheet("new sheet");
    Row row = sheet.createRow((short)2);

    row.createCell(0).setCellValue(1.1);
    row.createCell(1).setCellValue(new Date());
    row.createCell(2).setCellValue(Calendar.getInstance());
    row.createCell(3).setCellValue("a string");
    row.createCell(4).setCellValue(true);
    row.createCell(5).setCellType(Cell.CELL_TYPE_ERROR);

最後のセルはセル・タイプを設定しています。

PoiBuilder による構築


PoiBuilder でも、特に型を気にすることなくセルの値をセットできます:

@GrabResolver('http://www5.ocn.ne.jp/~coast/repo/')
@Grab('org.waman.tools:poi-builder:0.0.3')

import org.waman.tools.poi.PoiBuilder

def workbook = new PoiBuilder().workbook{
    sheet('new sheet'){
        row(2){
            cell(0, cellValue:1.1d)
            cell(1, cellValue:new Date())
            cell(2, cellValue:Calendar.instance)
            cell(3, cellValue:'a string')
            cell(4, cellValue:true)
            cell(5, cellType:CELL_TYPE_ERROR)
        }
    }
}

セル・タイプを設定したい場合は cellType 属性の設定をするだけです。 以前の記事で書いたように、Cell に定義されている定数(public static final なフィールド)をプロパティとして取得できるようにしているので、import 文などは不要です。

作成されるスプレッドシート





現場で使えるJavaライブラリ

現場で使えるJavaライブラリ


プログラミングGROOVY

プログラミングGROOVY