write a data.frame or list of data.frames to an xlsx file
write_xlsx(x, file, asTable = FALSE, ...)
object or a list of objects that can be handled by write_data()
to write to file
xlsx file name
write using write_datatable as opposed to write_data
optional parameters to pass to functions:
see details.
A workbook object
Optional parameters are:
wb_workbook Parameters
creator A string specifying the workbook author
wb_add_worksheet() Parameters
sheetName Name of the worksheet
gridLines A logical. If FALSE
, the worksheet grid lines will be hidden.
tabColor Color of the worksheet tab. A valid color (belonging to colors()) or a valid hex color beginning with "#".
zoom A numeric between 10 and 400. Worksheet zoom level as a percentage.
write_data/write_datatable Parameters
startCol A vector specifying the starting column(s) to write df
startRow A vector specifying the starting row(s) to write df
xy An alternative to specifying startCol and startRow individually. A vector of the form c(startCol, startRow)
colNames or col.names If TRUE
, column names of x are written.
rowNames or row.names If TRUE
, row names of x are written.
na.string If not NULL NA values are converted to this string in Excel. Defaults to NULL.
freezePane Parameters
firstActiveRow Top row of active region to freeze pane.
firstActiveCol Furthest left column of active region to freeze pane.
firstRow If TRUE
, freezes the first row (equivalent to firstActiveRow = 2)
firstCol If TRUE
, freezes the first column (equivalent to firstActiveCol = 2)
colWidths Parameters
colWidths May be a single value for all columns (or "auto"), or a list of vectors that will be recycled for each sheet (see examples)
wb_save Parameters
overwrite Overwrite existing file (Defaults to TRUE as with write.table)
columns of x with class Date or POSIXt are automatically styled as dates and datetimes respectively.
## write to working directory
write_xlsx(iris, file = temp_xlsx(), colNames = TRUE)
write_xlsx(iris,
file = temp_xlsx(),
colNames = TRUE
)
## 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))
write_xlsx(l, temp_xlsx(), colWidths = c(NA, "auto", "auto"))
## different sheets can be given different parameters
write_xlsx(l, temp_xlsx(),
startCol = c(1, 2, 3), startRow = 2,
asTable = c(TRUE, TRUE, FALSE), withFilter = c(TRUE, FALSE, FALSE)
)
# specify column widths for multiple sheets
write_xlsx(l, temp_xlsx(), colWidths = 20)
write_xlsx(l, temp_xlsx(), colWidths = list(100, 200, 300))
write_xlsx(l, temp_xlsx(), colWidths = list(rep(10, 5), rep(8, 11), rep(5, 5)))