change borders of selected rows and columns of a flextable. This function is not to be used by end user (it requires careful settings to avoid overlapping borders) but only for programming purposes.
If you need to add borders, use instead other functions:
These set borders for the whole table : 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)
hline_bottom()
: set the bottom border (outer horizontal)
vline_left()
: set the left border (outer vertical)
vline_right()
: set the right border (outer vertical)
If you want to highlight specific cells with some borders, use
surround()
.
border(
x,
i = NULL,
j = NULL,
border = NULL,
border.top = NULL,
border.bottom = NULL,
border.left = NULL,
border.right = NULL,
part = "body"
)
a flextable object
rows selection
columns selection
border (shortcut for top, bottom, left and right)
border top
border bottom
border left
border right
partname of the table (one of 'all', 'body', 'header', 'footer')
pdf and pptx outputs do not support border()
usage.
library(officer)
ftab <- flextable(head(mtcars))
ftab <- border(ftab, border.top = fp_border(color = "orange") )
ftab
#> a flextable object.
#> col_keys: `mpg`, `cyl`, `disp`, `hp`, `drat`, `wt`, `qsec`, `vs`, `am`, `gear`, `carb`
#> header has 1 row(s)
#> body has 6 row(s)
#> original dataset sample:
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#> Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#> Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#> Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#> Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2