将数据写入特定的工作簿表

时间:2013-03-01 05:37:10

标签: r excel

我有一个数据框,例如

a=1:10 
b=31:40
c=data.frame(a=a,b=b)

我需要将此数据框写入特定的Excel工作表(“Sheet1”)。

我现在正在使用WriteXLS,但此函数始终会覆盖整个excel文件,从而删除其他工作表。 如何在不覆盖以前的条目的情况下附加到工作表?

3 个答案:

答案 0 :(得分:3)

这将在不更改现有工作表的情况下将新命名工作表添加到现有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,那么此函数将以静默方式覆盖它。因此,您需要确保您的工作表名称是唯一的。

答案 1 :(得分:2)

尝试使用xlsx包。你有函数write.xlsx(),它允许你指定一个名称表,你可以完成一个现有的Excel。

答案 2 :(得分:0)

您可以通过以下方式简单地写入现有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文件在当前工作目录中。