ApachePOIで、Excelのヘッダー、フッターに値をセットするサンプルです。
サンプルソース
例)ヘッダーにファイル名と日付、フッターにページ数と固定文字列をセットする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HeaderFooter; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Footer; import org.apache.poi.ss.usermodel.Header; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class PoiSample { public static void main(String[] args) { //Excelデータ生成 Workbook wb = new XSSFWorkbook(); //ブックの生成 Sheet sh = wb.createSheet(0); //シートの生成 Row row = sh.createRow(0); //1行目を読み込む Cell cell = row.createCell(0); //1セル目を読み込む cell.setCellValue("ヘッダーフッターサンプル"); //ヘッダーのセット Header header = sh.getHeader(); header.setLeft(HeaderFooter.file()); //左側にファイル名をセット header.setRight(HeaderFooter.date()); //右側に今日日付をセット //フッターのセット Footer footer = sh.getFooter(); footer.setCenter(HeaderFooter.page() + "/" + HeaderFooter.numPages()); //中央にページ数をセット footer.setRight("〇〇会社"); //右側に固定テキストをセット //Excelファイル準備 FileOutputStream out = null; String path = "C:¥¥temp¥¥sample.xlsx"; try { //Excel出力 out = new FileOutputStream(path); wb.write(out); } catch (Exception ex) { ex.printStackTrace(); } finally { try { wb.close(); out.close(); } catch (Exception ex2) { ex2.printStackTrace(); } } } } |
ヘッダー・フッターで使用するメソッド
Header、Footerともに以下のメソッドを使用します。
値をセットする位置を指定するメソッド
.setLeft() | 左側に値をセットする |
.setCenter() | 中央に値をセットする |
.setRight() | 右側に値をセットする |
各種値をセットするメソッド
HeaderFooter.file() | 自身のファイル名 |
HeaderFooter.date() | 現在日付 |
HeaderFooter.time() | 現在時刻 |
HeaderFooter.page() | ページ番号 |
HeaderFooter.numPages() | ページ数 |
備考
- .xls形式、.xlsx形式どちらの形式のExcelにも対応します。