今回はセルの作成 (Creating Cells) です(一覧)。
Java コード
Workbook wb = new HSSFWorkbook(); //Workbook wb = new XSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet("new sheet"); // Create a row and put some cells in it. Rows are 0 based. Row row = sheet.createRow((short)0); // Create a cell and put a value in it. Cell cell = row.createCell(0); cell.setCellValue(1); // Or do it on one line. row.createCell(1).setCellValue(1.2); row.createCell(2).setCellValue( createHelper.createRichTextString("This is a string")); row.createCell(3).setCellValue(true);
セルを作るにはまず行 (Row) を作成する必要があります。 セルや行を作成する際にインデックスも必要です。
PoiBuilder による構築
PoiBuilder でも Apache POI のオブジェクトモデルは変わらないので「workbook → sheet → row → cell」の順に構築していきます。 row ノード、cell ノードに渡している値はインデックスに使われます。
@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(0){ cell(0){ cellValue(1) } cell(1, cellValue:1.2d) cell(2, cellValue:richTextString('This is a string')) // RichTextString の生成も簡単 cell(3, cellValue:true) } } }
セルの値 (cell value) は
- cell ノードの子ノードとして cellValue ノードを書く
- cell ノードの属性として cellValue 属性を書く
によって設定できます。 Java コードにある CreationHelper オブジェクトはビルダーの creationHelper プロパティによって取得できますが、このサンプルでは CreationHelper オブジェクトを介さずに richTextString ノードによって RichTextString を生成しています。
作成されるスプレッドシート


- 作者: 竹添直樹,島本多可子,小津美夕紀,亀井隆司
- 出版社/メーカー: 翔泳社
- 発売日: 2011/07/16
- メディア: 大型本
- 購入: 6人 クリック: 217回
- この商品を含むブログ (20件) を見る

- 作者: 関谷和愛,上原潤二,須江信洋,中野靖治
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/06
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 392回
- この商品を含むブログ (152件) を見る