[R] Output multiple sheets to Excel files with openxlsx::write.xlsx
Enrico Schumann
e@ @end|ng |rom enr|co@chum@nn@net
Wed May 27 09:15:13 CEST 2020
On Wed, 27 May 2020, John writes:
> Hi,
>
> This is my code a few years ago. I was able to output multiple sheet to
> an excel file. Nevertheless, the "append" argument appears to be obsolete.
> Now I see only one sheet, the latest added sheet, in the output. Is there
> any other way to do it with openxlsx::write.xlsx or other
> functions/packages?
>
>
> openxlsx::write.xlsx(df1, file=fl_out, sheetName="a",
> col.names=TRUE, row.names=FALSE, append=TRUE, showNA=FALSE)
>
> openxlsx::write.xlsx(df2, file=fl_out, sheetName="b",
> col.names=TRUE, row.names=FALSE,
> append=TRUE, showNA=FALSE)
>
> Thanks!!
>
I think you need to create a workbook first, then add
the sheets, and finally write the workbook to a file.
Something like this:
df <- data.frame(a = 1:3,
b = 4:6)
library("openxlsx")
wb <- createWorkbook()
sheet <- "sheet1"
addWorksheet(wb, sheet)
writeData(wb, sheet = sheet, x = df)
sheet <- "sheet2"
addWorksheet(wb, sheet)
writeData(wb, sheet = sheet, x = df + 1)
saveWorkbook(wb, file = "~/Desktop/two_sheets.xlsx")
--
Enrico Schumann
Lucerne, Switzerland
http://enricoschumann.net
More information about the R-help
mailing list