我有一个包含多个工作表的Excel文件.我想保存一个数据框并将其作为第一张表插入到文件中.如何使用xlsx包执行此操作?
谢谢!
@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")
这是一个老帖子和迟到的答案,但是当我的搜索结果弹出时,我正在写信帮助其他人.
可以在单独的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)