https://github.com/davidgohel/flextable
table farming
https://github.com/davidgohel/flextable
cran docx html5 ms-office-documents r rmarkdown rstats table
Last synced: 24 days ago
JSON representation
table farming
- Host: GitHub
- URL: https://github.com/davidgohel/flextable
- Owner: davidgohel
- Created: 2016-06-28T09:25:11.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-10-06T13:20:02.000Z (about 1 month ago)
- Last Synced: 2025-10-21T20:57:28.368Z (24 days ago)
- Topics: cran, docx, html5, ms-office-documents, r, rmarkdown, rstats, table
- Language: R
- Homepage: https://ardata-fr.github.io/flextable-book/
- Size: 51.3 MB
- Stars: 604
- Watchers: 17
- Forks: 89
- Open Issues: 29
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
Awesome Lists containing this project
- awesome-shiny-extensions - flextable - Create tables for reporting with format and layout control. (UI Components / Table)
- jimsghstars - davidgohel/flextable - table farming (R)
README
---
title: "flextable R package"
output:
github_document
---
[](https://github.com/davidgohel/flextable/actions)
[](https://CRAN.R-project.org/package=flextable)
[](https://app.codecov.io/gh/davidgohel/flextable)

```{r include=FALSE}
knitr::opts_chunk$set(
message = FALSE,
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
dev = "ragg_png",
dpi = 200
)
library(gdtools)
register_liberationsans()
```
The flextable package provides a framework for easily create tables for
reporting and publications. Tables can be easily formatted with
a set of verbs such as `bold()`, `color()`, they can receive a
header of more than one line, cells can be merged or contain
an image. The package make it possible to build any table for
publication from a `data.frame` and provides sugar function
`as_flextable()` to convert several R objects to a flextable,
such as an object return from `table()` or a model.
Tables can be embedded within HTML, PDF, Word and PowerPoint documents
from R Markdown documents and within RTF or Microsoft Word or PowerPoint
documents with package officer. Tables can also be rendered as R plots
or graphic files (png).
```{r eval=FALSE}
flextable(mtcars) %>%
theme_vanilla() %>%
save_as_docx(path = "mytable.docx")
```
A `flextable` object is a data.frame representation. An API is available to let
R users create tables for reporting and control their formatting properties and
their layout. The package provides functions that give control over:
- header, body and footer content
- text, paragraphs, cells and border formatting of any element
- displayed values
The package also offers a set of high-level functions that allow tabular
reporting of statistical models and the creation of complex cross tabulations.
## Examples
```{r 'mtcars-dataset', message=FALSE, warning=FALSE}
library(flextable)
set_flextable_defaults(
font.family = "Arial", font.size = 10,
border.color = "gray", big.mark = "")
ft <- flextable(head(mtcars)) |>
bold(part = "header")
ft
ft |>
highlight(i = ~ mpg < 22, j = "disp", color = "#ffe842") |>
bg(j = c("hp", "drat", "wt"),
bg = scales::col_quantile(palette = c("wheat", "red"), domain =NULL)) |>
add_footer_lines("The 'mtcars' dataset")
```
```{r 'diamonds-dataset'}
ggplot2::diamonds[, c("cut", "carat", "price", "clarity", "table")] |>
summarizor(by = c("cut")) |>
as_flextable(spread_first_col = TRUE)
```
## Installation
```{r eval = FALSE}
install.packages("flextable")
```
You can get the development version from GitHub:
```{r eval = FALSE}
devtools::install_github("davidgohel/flextable")
```
## Resources
- User guide: https://ardata-fr.github.io/flextable-book/
- Manuals: https://davidgohel.github.io/flextable/reference/index.html
- Gallery of examples: https://ardata.fr/en/flextable-gallery/
## Bug reports
When you file a [bug report](https://github.com/davidgohel/flextable/issues),
please spend some time making it easy for us to reproduce. If you
take the time to make the bug report consistent, it will be easier to fix.