印刷タイトルを設定するには以下メソッドを使用します。
Workbook#setRepeatingRows():印刷タイトル(行)
Workbook#setRepeatingColumns():印刷タイトル(列)
引数にはCellRangeAddressを指定します。
CellRangeAddress(開始行番号, 終了行番号, 開始列番号, 終了列番号)
番号は0から始まるので、1列目を指定したい場合は0になります。
指定不要の場合は-1を指定してください。
サンプルソース
例)印刷タイトルに1行目、1列目を設定する
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 |
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; public class PoiSample { public static void main(String[] args) { InputStream is = null; Workbook wb = null; FileOutputStream out = null; try { //Excelファイル読込 is = new FileInputStream("C:¥¥temp¥¥sample.xlsx"); wb = WorkbookFactory.create(is); Sheet sh = wb.getSheetAt(0); //1番目のシートを読み込む //印刷タイトルを指定する //(タイトル行)「$1:$1」を指定する sh.setRepeatingRows(new CellRangeAddress(0, 0, -1, -1)); //(タイトル列)「$A:$A」を指定する sh.setRepeatingColumns(new CellRangeAddress(-1, -1, 0, 0)); //Excelファイル出力 out = new FileOutputStream("C:¥¥temp¥¥sample.xlsx"); wb.write(out); } catch (Exception ex) { ex.printStackTrace(); } finally { try { wb.close(); out.close(); } catch (Exception ex2) { ex2.printStackTrace(); } } } } |