今回はシートのフッターにページ番号をセットする (Set page numbers on the footer of a sheet) です(一覧)。
Java コード
ヘッダーやフッターを設定するためには、Sheet オブジェクトの getHeader() / getFooter() メソッドで Header / Footer オブジェクトを取得し、setLeft() / setCenter() / setRight() メソッドでそれぞれの内容をセットします:
Workbook wb = new HSSFWorkbook(); // or new XSSFWorkbook(); Sheet sheet = wb.createSheet("format sheet"); Footer footer = sheet.getFooter(); footer.setRight( "Page " + HeaderFooter.page() + " of " + HeaderFooter.numPages() );
HeaderFooter クラスの static メソッドをいくつか呼び出してますが、これらのメソッドによって返される文字列によって、ページ番号などをメタに参照することができます。
PoiBuilder による構築
PoiBuilder では、sheet ノード下の header / footer ノードによってヘッダー、フッターを取得、設定できます。 内容は left / center / right 属性で対応するものをセットします:
@GrabResolver('http://www5.ocn.ne.jp/~coast/repo/') @Grab('org.waman.tools:poi-builder:0.0.5') import org.waman.tools.poi.PoiBuilder import org.apache.poi.hssf.usermodel.HeaderFooter def workbook = new PoiBuilder().workbook{ sheet('format sheet'){ footer(right:"Page ${HeaderFooter.page()} of ${HeaderFooter.numPages()}") } }
ページ番号の取得などは、Java コードと同様に HeaderFooter クラスの static メソッドを呼び出します。
作成されるスプレッドシート
生成されたスプレッドシートの印刷プレビューを拡大したところ:
追記
poi-builder 0.0.6 から、header / footer に指定する left / center / right の内容にプレースホルダーを指定して HeaderFooter.page() を $page と書いたりできるようにしました:
@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('format sheet'){ footer(right:'Page $page of $numPages') } }
プレースホルダーの使い方は Groovy のテンプレートと同じです。 必要なら中括弧を使って ${page} のように使ってください。 使用できるプレースホルダーは org.apache.poi.hssf.usermodel.HeaderFooter に定義されている static メソッドのうち引数のないものです:
プレースホルダー | 説明 |
---|---|
date | 日付 |
endBold | ボールドの終了 |
endDoubleUnderline | 二重下線の終了 |
endUnderline | 下線の終了 |
file | ファイル名 |
numPages | ページ数 |
page | 現在のページ番号 |
startBold | ボールドの開始 |
startDoubleUnderline | 二重下線の開始 |
startUnderline | 下線の開始 |
tab | シート名 |
time | 現在の時間 |
- 作者: 竹添直樹,島本多可子,小津美夕紀,亀井隆司
- 出版社/メーカー: 翔泳社
- 発売日: 2011/07/16
- メディア: 大型本
- 購入: 6人 クリック: 217回
- この商品を含むブログ (20件) を見る
- 作者: 関谷和愛,上原潤二,須江信洋,中野靖治
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/06
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 392回
- この商品を含むブログ (152件) を見る