2

我有一个数据框,例如

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

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

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

4

3 回答 3

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那么这个函数会默默地覆盖它。因此,您需要确保您的工作表名称是唯一的。

于 2013-03-01T08:27:33.097 回答
2

试试 xlsx 包。你有函数 write.xlsx() 允许你指定一个名字表,你可以完成一个现有的 excel。

于 2013-03-01T06:12:18.777 回答
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 文件位于您当前的工作目录中。

于 2019-02-13T13:09:01.273 回答