倭マン's BLOG

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

PoiBuilder で Quick Guide (16) : シートの倍率をセットする

今回はシートの倍率をセットする (Set the zoom magnification for a sheet) です(一覧)。

Java コード


シートの表示倍率を設定するコード。 表示倍率は Sheet オブジェクトの setZoom() メソッドで行います。

    Workbook wb = new HSSFWorkbook();
    Sheet sheet1 = wb.createSheet("new sheet");
    sheet1.setZoom(3,4);   // 75 percent magnification

倍率は分数で表したときの分子と分母で指定します。

PoiBuilder による構築


PoiBuilder による構築方法。

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

import org.waman.tools.poi.PoiBuilder

def workbook = new PoiBuilder().workbook{
    sheet('new sheet', zoom:[3, 4])    // 75 percent magnification
}

zoom は JavaBean としてのプロパティではありませんが、setZoom() メソッドで指定したい値を List として渡せばセットできるようにしてあります*1。 ちなみに、setZoom() 以外にも JavaBean としてのプロパティとしては認識されない設定メソッドがいくつかありますが、それらを設定したい場合は current プロパティによって構築中のオブジェクト取得して、任意のメソッドによって設定を行うことができます:

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

import org.waman.tools.poi.PoiBuilder

def workbook = new PoiBuilder().workbook{
    sheet('new sheet'){
        current.setZoom(3, 4)    // 75 percent magnification
    }
}

属性中で current プロパティにアクセスすると、その親ノードが構築しているオブジェクトが返されるので注意。

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




追記


poi-builder 0.0.6 からは sheet プロパティによって Sheet オブジェクトを取得できるので、それに対して setZoom() メソッドを呼び出しても同じことができます:

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

import org.waman.tools.poi.SpreadsheetBuilder

def workbook = new SpreadsheetBuilder().workbook{
    sheet('new sheet'){
        sheet.setZoom(3, 4)    // 75 percent magnification
    }
}

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

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


プログラミングGROOVY

プログラミングGROOVY

*1:FactoryBuilderSupport の機能ではありません。