surround() draws borders around specific cells, highlighting
them individually.
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, see flextable-package to learn how to create 'flextable' object.
- i
row selector, see section Row selection with the
iparameter in <Selectors in flextable>.- j
column selector, see section Column selection with the
jparameter in <Selectors in flextable>.- 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
part selector, see section Part selection with the
partparameter in <Selectors in flextable>. Value 'all' can be used.
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
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Species
5.1
3.5
1.4
0.2
setosa
4.9
3.0
1.4
0.2
setosa
4.7
3.2
1.3
0.2
setosa
4.6
3.1
1.5
0.2
setosa
5.0
3.6
1.4
0.2
setosa
5.4
3.9
1.7
0.4
setosa
# # render
# print(ft, preview = "pptx")
# print(ft, preview = "docx")
# print(ft, preview = "pdf")
# print(ft, preview = "html")
