Eco*_*Tom 10
@Navid的答案对于该软件包是正确的xlsx,但是不幸的是,它具有java依赖性,这使我在读取/写入大量数据(10,000多行,甚至不那么大!)时遇到很多问题。
我建议使用该openxlsx软件包,它避免了Java依赖。如果您想将更多的工作表添加到单个文件中,那么这就是我发现的适用于我的方法。@ eipi10的评论worksheetOrder()是一个很好的技巧,但是您每次都需要使用类似的方法来更改该参数rev(1:3)(假设您在文件中有三个工作表)。
为了清楚起见,这是openxlsx版本4.0 的工作流程
# Create a blank workbook
OUT <- createWorkbook()
# Add some sheets to the workbook
addWorksheet(OUT, "Sheet 1 Name")
addWorksheet(OUT, "Sheet 2 Name")
# Write the data to the sheets
writeData(OUT, sheet = "Sheet 1 Name", x = dataframe1)
writeData(OUT, sheet = "Sheet 2 Name", x = dataframe2)
# Reorder worksheets
worksheetOrder(OUT) <- c(2,1)
# Export the file
saveWorkbook(OUT, "My output file.xlsx")
Run Code Online (Sandbox Code Playgroud)
小智 7
这是一个老帖子和迟到的答案,但是当我的搜索结果弹出时,我正在写信帮助其他人.
可以在单独的Excel工作表中编写,但是您需要多次编写write.xlsx(),并且每次都使用该选项,append=TRUE
如下所示:
write.xlsx(df$sheet1, file = "myfile.xlsx", sheetName="sh1", append=TRUE)
write.xlsx(df$sheet2, file = "myfile.xlsx", sheetName="sh2", append=TRUE)
write.xlsx(df$sheet3, file = "myfile.xlsx", sheetName="sh3", append=TRUE)
Run Code Online (Sandbox Code Playgroud)