surround {flextable} | R Documentation |
Set borders for a selection of cells
Description
Highlight specific cells with borders.
To set borders for the whole table, use border_outer()
,
border_inner_h()
and border_inner_v()
.
All the following functions also support the
row and column selector i
and j
:
-
hline()
: set bottom borders (inner horizontal) -
vline()
: set right borders (inner vertical) -
hline_top()
: set the top border (outer horizontal) -
vline_left()
: set the left border (outer vertical)
Usage
surround(
x,
i = NULL,
j = NULL,
border = NULL,
border.top = NULL,
border.bottom = NULL,
border.left = NULL,
border.right = NULL,
part = "body"
)
Arguments
x |
a flextable object |
i |
rows selection |
j |
columns selection |
border |
border (shortcut for top, bottom, left and right) |
border.top |
border top |
border.bottom |
border bottom |
border.left |
border left |
border.right |
border right |
part |
partname of the table (one of 'all', 'body', 'header', 'footer') |
See Also
Other borders management:
border_inner()
,
border_inner_h()
,
border_inner_v()
,
border_outer()
,
border_remove()
,
hline()
,
hline_bottom()
,
hline_top()
,
vline()
,
vline_left()
,
vline_right()
Examples
library(officer)
library(flextable)
# cell to highlight
vary_i <- 1:3
vary_j <- 1:3
std_border <- fp_border(color = "orange")
ft <- flextable(head(iris))
ft <- border_remove(x = ft)
ft <- border_outer(x = ft, border = std_border)
for (id in seq_along(vary_i)) {
ft <- bg(
x = ft,
i = vary_i[id],
j = vary_j[id], bg = "yellow"
)
ft <- surround(
x = ft,
i = vary_i[id],
j = vary_j[id],
border.left = std_border,
border.right = std_border,
part = "body"
)
}
ft <- autofit(ft)
ft
# # render
# print(ft, preview = "pptx")
# print(ft, preview = "docx")
# print(ft, preview = "pdf")
# print(ft, preview = "html")