首页 > 解决方案 > 使用 R 操作 Excel 文件

问题描述

我想使用 R 编辑现有的 Excel 文件。例如,ExcelFile_1 有数据,我需要将 ExcelFile_1 中的数据放入另一个名为 ExcelFile_2 的文件中。这基于列名和行名。
ExcelFile_1:
存储发货数量
1111 100
2222 200

ExcelFile_2:
存储发货数量
1111
2222

如果我正在使用数据框,我通常会执行
ExcelFile_2$ Shipped Qty<- ExcelFile_1$ Shipped Qty[match(ExcelFile_1$ Store #, ExcelFile_2$ Store #)

上面的行适用于我的数据框,但我不知道如何在使用 XLConnect 包写入工作表时放置此公式。我所看到的只是下面提到的选项。writeWorksheet(对象,数据,工作表,startRowstartCol,标题,行名)

我不想编辑为数据框并将数据框另存为现有/新 Excel 文件中的另一个“工作表”,因为我想保留 ExcelFile_2 格式。
例如:我想使用另一张表中的值更改 ExcelFile_2 单元格“B2”的值。

有人可以帮我解决上述问题吗?

标签: rexcel

解决方案


假设您的文件存储在您的主目录中并命名为one.xlsxand two.xlsx,您可以执行以下操作:

library(XLConnect)

# Load content of the first sheet of one.xlsx
df1 <- readWorksheetFromFile("~/one.xlsx", 1)

# Do what you like to df1 ...

# Write df1 to the first sheet of two.xlsx
wb2 <- loadWorkbook("~/two.xlsx")
writeWorksheet(wb2, df1, sheet = 1)
saveWorkbook(wb2)

如果需要,您还可以在两者中使用 andstartRow来指定确切的行和列,并指定是否要读取/写入标题。startColreadWorksheetFromFile()writeWorksheet()header


推荐阅读