Adds one or more (work)sheets to an existing (spread)Sheet. Note that sheet names must be unique.
sheet_add(ss, sheet = NULL, ..., .before = NULL, .after = NULL)
Something that identifies a Google Sheet:
its file id as a string or drive_id
a URL from which we can recover the id
a one-row dribble
, which is how googledrive
represents Drive files
an instance of googlesheets4_spreadsheet
, which is what gs4_get()
returns
Processed through as_sheets_id()
.
One or more new sheet names. If unspecified, one new sheet is added and Sheets autogenerates a name of the form "SheetN".
Optional parameters to specify additional properties, common to
all of the new sheet(s). Not relevant to most users. Specify fields of the
SheetProperties
schema
in name = value
form.
Optional specification of where to put the new sheet(s). Specify, at most, one of .before
and .after
. Refer to an existing sheet by name (via a string) or by position (via a number). If unspecified, Sheets puts the new sheet(s) at the end.
The input ss
, as an instance of sheets_id
Makes a batch of AddSheetRequest
s (one per sheet):
Other worksheet functions:
sheet_append()
,
sheet_copy()
,
sheet_delete()
,
sheet_properties()
,
sheet_relocate()
,
sheet_rename()
,
sheet_resize()
,
sheet_write()
if (FALSE) { # gs4_has_token()
ss <- gs4_create("add-sheets-to-me")
# the only required argument is the target spreadsheet
ss %>% sheet_add()
# but you CAN specify sheet name and/or position
ss %>% sheet_add("apple", .after = 1)
ss %>% sheet_add("banana", .after = "apple")
# add multiple sheets at once
ss %>% sheet_add(c("coconut", "dragonfruit"))
# keeners can even specify additional sheet properties
ss %>%
sheet_add(
sheet = "eggplant",
.before = 1,
gridProperties = list(
rowCount = 3, columnCount = 6, frozenRowCount = 1
)
)
# get an overview of the sheets
sheet_properties(ss)
# clean up
gs4_find("add-sheets-to-me") %>%
googledrive::drive_trash()
}