ApachePOIで、Excel印刷時の用紙方向を設定するサンプルです。
印刷時の用紙方向を設定するには、PrintSetup#setLandscape() を使用します。
サンプルソース
例)用紙方向を「横方向」を指定する
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 |
import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.PrintSetup; 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(); Row row = sh.createRow(0); Cell cell = row.createCell(0); cell.setCellValue("用紙方向設定サンプル"); //用紙方向の設定 PrintSetup ps = sh.getPrintSetup(); ps.setLandscape(true); //横方向 //ps.setLandscape(false); //縦方向 //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(); } } } } |
印刷方向に指定できる値
.setLandscapeには以下の値を指定できます。
.setLandscape(true) | 用紙方向(横) |
.setLandscape(false) | 用紙方向(縦) |
備考
- .xls形式、.xlsx形式どちらの形式のExcelにも対応します。