如何使用R中的Openxlsx包修改Excel工作簿中的现有工作表?

Nip*_*ora 13 excel r openxlsx

我使用"openxlsx"包来读写excel文件.我有一个固定文件,其中包含一个名为"数据"的表格,该表格由其他表格中的公式使用.我想更新此数据表而不接触另一个.我正在尝试以下代码:

write.xlsx(x = Rev_4, file = "Revenue.xlsx", sheetName="Data")
Run Code Online (Sandbox Code Playgroud)

但是这会删除excel文件,并在"数据"表单中仅使用新数据创建一个新文件,而其他所有文件都将被删除.任何建议?

R. *_*ini 16

试试这个:

wb <- loadWorkbook("Revenue.xlsx")
writeData(wb, sheet = "Data", Rev_4, colNames = F)
saveWorkbook(wb,"Revenue.xlsx",overwrite = T)
Run Code Online (Sandbox Code Playgroud)

您需要加载完整的工作簿,然后修改其数据,然后将其保存到磁盘.随着writeData你也可以指定起始行和列.您还可以在保存到磁盘之前修改其他部分.

  • `wb &lt;- createWorkbook()` `addWorksheet(wb, sheetName = "test1")` `writeData(wb, sheet = "test1", x = data1)` `addWorksheet(wb, sheetName = "test2")` `writeData (wb, sheet = "test2", x = data2)` `saveWorkbook(wb, "test.xlsx")` (3认同)
  • 如果第一张工作表不存在工作簿,则这不起作用。 (2认同)