surround: Set borders for a selection of cells

View source: R/borders.R

surroundR 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")

flextable documentation built on Oct. 30, 2024, 9:15 a.m.