我有一个数据框,例如
a=1:10
b=31:40
c=data.frame(a=a,b=b)
我需要将此数据框写入特定的 Excel 工作表(“Sheet1”)。
我现在使用的是 WriteXLS,但是这个函数总是会覆盖整个 excel 文件,因此会删除其他工作表。如何在不覆盖以前条目的情况下附加到工作表?
这将在不更改现有工作表的情况下将新命名工作表添加到现有 Excel 工作簿:
# create data in R
a = 1:10
b = 31:40
c0 = data.frame(a=a,b=b)
# write data object 'c0' to existing Excel file
# 'Book1.xlsx' into a new sheet called 'Sheet1'
library(XLConnect)
writeWorksheetToFile(file = "C:/.../Book1.xlsx", data = c0, sheet = "Sheet1")
请注意,如果工作簿已经有一个,Sheet1
那么这个函数会默默地覆盖它。因此,您需要确保您的工作表名称是唯一的。
试试 xlsx 包。你有函数 write.xlsx() 允许你指定一个名字表,你可以完成一个现有的 excel。
您可以通过以下方式简单地写入现有 Excel 文件的新工作表,而无需修改现有工作表或任何其他信息:
library(xlsx)
a=1:10
b=31:40
c=data.frame(a=a,b=b)
write.xlsx(c, "existing_Excel_file.xlsx", sheetName="New sheet name", append=TRUE)
请记住将write.xlsx的append参数设置为TRUE,并确保您正在写入的 Excel 文件位于您当前的工作目录中。