アットウィキロゴ

POI

import org.apache.poi.util.*
import org.apache.poi.hssf.usermodel.*

/* ブック作成 */
def book = new HSSFWorkbook()
/* シート作成 */
def sheet = book.createSheet("画像挿入テスト")
/* 画像をストリームで読み込む */
def bytes = IOUtils.toByteArray(new FileInputStream("./image/fumo.jpg"))
def pictureIdx = book.addPicture(bytes, HSSFWorkbook.PICTURE_TYPE_JPEG)
/* 描画オブジェクト生成(一回のみ実行する) */
def patriarch = sheet.createDrawingPatriarch()
/* アンカーの生成 */
def anchor = new HSSFClientAnchor()
// 0 = Move and size with Cells.
// 2 = Move but don't size with cells.
// 3 = Don't move or size with cells.
anchor.setAnchorType(0) // ここではセルにあわせて移動&リサイズを選択
/*
 * 余白微調整?
 *   このsetD~を指定しないとセルにぴったりくっついた感じになる
 */
anchor.setDx1(100)
anchor.setDy1(100)
anchor.setDx2(-100)
anchor.setDy2(-100)
/*
 * 画像の左上がセル(0,0)の左上~
 *       右下がセル(10,3)の左上(=セル(9,2)の右下)
 */
anchor.setRow1(0)
anchor.setCol1(0 as short)
anchor.setRow2(10)
anchor.setCol2(3 as short)
/* partiachに画像を設定 */
patriarch.createPicture(anchor, pictureIdx)  

/* ファイル出力 */
book.write(new FileOutputStream("./excel/insert_image.xls"))
最終更新:2009年01月29日 23:09