I use the following pseudo-code to "append" new information to the same worksheet:
df_for_workbook <- # Code to create data frame here
out_xlsx <- # File name here
# Check to see if file doesn't exist
if (!file.exists(out_xlsx)) {
# Create workbook using openxlsx
wb <- createWorkbook()
# Add worksheet
addWorksheet(wb, "worksheetName")
# Write data frame to new worksheet
writeData(wb, "worksheetName", df_for_workbook)
# Save file
saveWorkbook(wb, file = out_xlsx)
} else {
# Read in existing data
old_wb <-
readWorkbook(out_xlsx,
sheet = "worksheetName",
detectDates = TRUE)
# Append new data
new_data <-
bind_rows(old_wb,
df_for_workbook)
# Load and write updated data frame to existing worksheet
wb <- loadWorkbook(out_xlsx)
writeData(wb, "worksheetName", new_data)
# Save file
saveWorkbook(wb, out_xlsx, overwrite = TRUE)
}