
Writing named regions to a workbook
writeNamedRegion-methods.RdWrites data to the named regions defined in a workbook.
Usage
# S4 method for class 'workbook,ANY'
writeNamedRegion(object, data, name, header,
overwriteFormulaCells, rownames, worksheetScope)Arguments
- object
The
workbookto use- data
Data to write
- name
Name of the named region to write to
- header
Specifies if the column names should be written. The default is
TRUE.- overwriteFormulaCells
Specifies if existing formula cells in the
workbookshould be overwritten. The default isTRUE.- rownames
Name (
character) of column to use for the row names of the provideddataobject. If specified, the row names of the data object (data.frame) will be included as an additional column with the specified name. Ifrownames = NULL(default), no row names will be included. May also be alistin case multiple data objects are written in one call (see below).- worksheetScope
Optional character vector with worksheet name(s) to limit the scope in which the
name(s) to write to is/are expected to be found
.
Details
Writes data to the named region specified by name. Note
that data is assumed to be a data.frame and is coerced to
one if this is not already the case. The argument header
specifies if the column names should be written. Note also that the
arguments are vectorized and as such multiple named regions can be
written with one call. In this case data is assumed to be a list
of data objects (data.frame's).
References
What are named regions/ranges?
https://web.archive.org/web/20240821110221/https://www.officearticles.com/excel/named_ranges_in_microsoft_excel.htm
How to create named regions/ranges?
https://www.youtube.com/watch?v=iAE9a0uRtpM
Author
Martin Studer
Mirai Solutions GmbH https://mirai-solutions.ch
Note
Named regions are automatically redefined to the area occupied by the
written cells. This guarantees that the complete set of data can be
re-read using
readNamedRegion. Also, this
allows the named region just to be defined as the top left cell to be
written to. There is no need to know the exact size of the data in advance.
When writing data to Excel, writeNamedRegion further applies cell
styles to the cells as defined by the workbook's
"style action" (see
setStyleAction).
Examples
if (FALSE) { # \dontrun{
# Load workbook (create if not existing)
wb <- loadWorkbook("writeNamedRegion.xlsx", create = TRUE)
# Create a worksheet named 'mtcars'
createSheet(wb, name = "mtcars")
# Create a named region called 'mtcars' on the sheet called 'mtcars'
createName(wb, name = "mtcars", formula = "mtcars!$A$1")
# Write built-in data set 'mtcars' to the above defined named region
# (using header = TRUE)
writeNamedRegion(wb, mtcars, name = "mtcars")
createSheet(wb, name="iris")
setActiveSheet(wb, "iris")
# Do the same with the iris data set, with a worksheet-scoped name
createName(wb, name = "iris", formula = "iris!$A$1", worksheetScope = "iris")
writeNamedRegion(wb, iris, name = "iris", worksheetScope="iris")
# Save workbook (this actually writes the file to disk)
saveWorkbook(wb)
# clean up
file.remove("writeNamedRegion.xlsx")
} # }