Learn R Programming

openxlsx2 (version 1.4)

wb_page_setup: Set page margins, orientation and print scaling of a worksheet

Description

Set page margins, orientation and print scaling.

Usage

wb_page_setup(
  wb,
  sheet = current_sheet(),
  orientation = NULL,
  scale = 100,
  left = 0.7,
  right = 0.7,
  top = 0.75,
  bottom = 0.75,
  header = 0.3,
  footer = 0.3,
  fit_to_width = FALSE,
  fit_to_height = FALSE,
  paper_size = NULL,
  print_title_rows = NULL,
  print_title_cols = NULL,
  summary_row = NULL,
  summary_col = NULL,
  ...
)

Arguments

wb

A workbook object

sheet

A name or index of a worksheet

orientation

Page orientation. One of "portrait" or "landscape"

scale

Print scaling. Numeric value between 10 and 400

left, right, top, bottom

Page margin in inches

header, footer

Margin in inches

fit_to_width, fit_to_height

If TRUE, worksheet is scaled to fit to page width /height on printing.

paper_size

See details. Default value is 9 (A4 paper).

print_title_rows, print_title_cols

Rows / columns to repeat at top of page when printing. Integer vector.

summary_row

Location of summary rows in groupings. One of "Above" or "Below".

summary_col

Location of summary columns in groupings. One of "Right" or "Left".

...

additional arguments

Details

paper_size is an integer corresponding to:

size"paper type"
1Letter paper (8.5 in. by 11 in.)
2Letter small paper (8.5 in. by 11 in.)
3Tabloid paper (11 in. by 17 in.)
4Ledger paper (17 in. by 11 in.)
5Legal paper (8.5 in. by 14 in.)
6Statement paper (5.5 in. by 8.5 in.)
7Executive paper (7.25 in. by 10.5 in.)
8A3 paper (297 mm by 420 mm)
9A4 paper (210 mm by 297 mm)
10A4 small paper (210 mm by 297 mm)
11A5 paper (148 mm by 210 mm)
12B4 paper (250 mm by 353 mm)
13B5 paper (176 mm by 250 mm)
14Folio paper (8.5 in. by 13 in.)
15Quarto paper (215 mm by 275 mm)
16Standard paper (10 in. by 14 in.)
17Standard paper (11 in. by 17 in.)
18Note paper (8.5 in. by 11 in.)
19#9 envelope (3.875 in. by 8.875 in.)
20#10 envelope (4.125 in. by 9.5 in.)
21#11 envelope (4.5 in. by 10.375 in.)
22#12 envelope (4.75 in. by 11 in.)
23#14 envelope (5 in. by 11.5 in.)
24C paper (17 in. by 22 in.)
25D paper (22 in. by 34 in.)
26E paper (34 in. by 44 in.)
27DL envelope (110 mm by 220 mm)
28C5 envelope (162 mm by 229 mm)
29C3 envelope (324 mm by 458 mm)
30C4 envelope (229 mm by 324 mm)
31C6 envelope (114 mm by 162 mm)
32C65 envelope (114 mm by 229 mm)
33B4 envelope (250 mm by 353 mm)
34B5 envelope (176 mm by 250 mm)
35B6 envelope (176 mm by 125 mm)
36Italy envelope (110 mm by 230 mm)
37Monarch envelope (3.875 in. by 7.5 in.)
386 3/4 envelope (3.625 in. by 6.5 in.)
39US standard fanfold (14.875 in. by 11 in.)
40German standard fanfold (8.5 in. by 12 in.)
41German legal fanfold (8.5 in. by 13 in.)
42ISO B4 (250 mm by 353 mm)
43Japanese double postcard (200 mm by 148 mm)
44Standard paper (9 in. by 11 in.)
45Standard paper (10 in. by 11 in.)
46Standard paper (15 in. by 11 in.)
47Invite envelope (220 mm by 220 mm)
50Letter extra paper (9.275 in. by 12 in.)
51Legal extra paper (9.275 in. by 15 in.)
52Tabloid extra paper (11.69 in. by 18 in.)
53A4 extra paper (236 mm by 322 mm)
54Letter transverse paper (8.275 in. by 11 in.)
55A4 transverse paper (210 mm by 297 mm)
56Letter extra transverse paper (9.275 in. by 12 in.)
57SuperA/SuperA/A4 paper (227 mm by 356 mm)
58SuperB/SuperB/A3 paper (305 mm by 487 mm)
59Letter plus paper (8.5 in. by 12.69 in.)
60A4 plus paper (210 mm by 330 mm)
61A5 transverse paper (148 mm by 210 mm)
62JIS B5 transverse paper (182 mm by 257 mm)
63A3 extra paper (322 mm by 445 mm)
64A5 extra paper (174 mm by 235 mm)
65ISO B5 extra paper (201 mm by 276 mm)
66A2 paper (420 mm by 594 mm)
67A3 transverse paper (297 mm by 420 mm)
68A3 extra transverse paper (322 mm by 445 mm)

Examples

Run this code
wb <- wb_workbook()
wb$add_worksheet("S1")
wb$add_worksheet("S2")
wb$add_data_table(1, x = iris[1:30, ])
wb$add_data_table(2, x = iris[1:30, ], dims = c("C5"))

## landscape page scaled to 50%
wb$page_setup(sheet = 1, orientation = "landscape", scale = 50)

## portrait page scales to 300% with 0.5in left and right margins
wb$page_setup(sheet = 2, orientation = "portrait", scale = 300, left = 0.5, right = 0.5)


## print titles
wb$add_worksheet("print_title_rows")
wb$add_worksheet("print_title_cols")

wb$add_data("print_title_rows", rbind(iris, iris, iris, iris))
wb$add_data("print_title_cols", x = rbind(mtcars, mtcars, mtcars), row_names = TRUE)

wb$page_setup(sheet = "print_title_rows", print_title_rows = 1) ## first row
wb$page_setup(sheet = "print_title_cols", print_title_cols = 1, print_title_rows = 1)

Run the code above in your browser using DataLab