write.xlsx {openxlsx}R Documentation

write data to an xlsx file

Description

write a data.frame or list of data.frames to an xlsx file

Usage

write.xlsx(x, file, asTable = FALSE, overwrite = FALSE, ...)

Arguments

x

A data.frame or a (named) list of objects that can be handled by writeData or writeDataTable to write to file

file

A file path to save the xlsx file

asTable

If TRUE will use writeDataTable rather than writeData to write x to the file (default: FALSE)

overwrite

If 'TRUE' will save over 'file' if present (default: 'FALSE')

  • createWorkbook

  • addWorksheet

  • writeData

  • freezePane

  • saveWorkbook

see details.

...

Additional arguments passed to writeData, writeDataTable, setColWidths

Details

Optional parameters are:

createWorkbook Parameters

addWorksheet Parameters

writeData/writeDataTable Parameters

freezePane Parameters

colWidths Parameters

saveWorkbook Parameters

columns of x with class Date or POSIXt are automatically styled as dates and datetimes respectively.

Value

A workbook object

Author(s)

Alexander Walker, Jordan Mark Barbone

See Also

addWorksheet

writeData

createStyle for style parameters

buildWorkbook

Examples


## write to working directory
options("openxlsx.borderColour" = "#4F80BD") ## set default border colour
## Not run: 
write.xlsx(iris, file = "writeXLSX1.xlsx", colNames = TRUE, borders = "columns")
write.xlsx(iris, file = "writeXLSX2.xlsx", colNames = TRUE, borders = "surrounding")

## End(Not run)


hs <- createStyle(
  textDecoration = "BOLD", fontColour = "#FFFFFF", fontSize = 12,
  fontName = "Arial Narrow", fgFill = "#4F80BD"
)
## Not run: 
write.xlsx(iris,
  file = "writeXLSX3.xlsx",
  colNames = TRUE, borders = "rows", headerStyle = hs
)

## End(Not run)

## Lists elements are written to individual worksheets, using list names as sheet names if available
l <- list("IRIS" = iris, "MTCATS" = mtcars, matrix(runif(1000), ncol = 5))
## Not run: 
write.xlsx(l, "writeList1.xlsx", colWidths = c(NA, "auto", "auto"))

## End(Not run)

## different sheets can be given different parameters
## Not run: 
write.xlsx(l, "writeList2.xlsx",
  startCol = c(1, 2, 3), startRow = 2,
  asTable = c(TRUE, TRUE, FALSE), withFilter = c(TRUE, FALSE, FALSE)
)

## End(Not run)

# specify column widths for multiple sheets
## Not run: 
write.xlsx(l, "writeList2.xlsx", colWidths = 20)
write.xlsx(l, "writeList2.xlsx", colWidths = list(100, 200, 300))
write.xlsx(l, "writeList2.xlsx", colWidths = list(rep(10, 5), rep(8, 11), rep(5, 5)))

## End(Not run)


[Package openxlsx version 4.2.4 Index]