Skip to contents

hline() draws a horizontal line below each selected row by setting the bottom border of cells at row i (and the top border of cells at row i + 1 so that the line renders consistently across output formats).

Use the i selector to target specific rows (e.g. a formula such as ~ before(col, "Total")). When i is NULL (the default) the border is added below every row, which produces a full grid of inner horizontal lines.

For the outer edges of the table, use hline_top() and hline_bottom() instead; those always target the very first or very last row of a part.

Usage

hline(x, i = NULL, j = NULL, border = 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 i parameter in <Selectors in flextable>.

j

column selector, see section Column selection with the j parameter in <Selectors in flextable>.

border

border properties defined by a call to officer::fp_border()

part

part selector, see section Part selection with the part parameter in <Selectors in flextable>. Value 'all' can be used.

Examples

library(officer)
std_border <- fp_border(color = "gray")

ft <- flextable(head(iris))
ft <- border_remove(x = ft)

# add horizontal borders below every row
ft <- hline(ft, part = "all", border = std_border)
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