如何使用 R 中的 Openxlsx 包修改 Excel 工作簿中现有的 sheet?
How do I modify an existing a sheet in an Excel Workbook using Openxlsx package in R?
我正在使用 "openxlsx" 包来读写 excel 文件。我有一个名为 "Data" 的 sheet 固定文件,它被其他 sheet 中的公式使用。我想更新此数据 sheet 而不触及其他数据。
我正在尝试以下代码:
write.xlsx(x = Rev_4, file = "Revenue.xlsx", sheetName="Data")
但这会删除 excel 文件并创建一个新文件,其中仅包含 "Data" sheet 中的新数据,同时删除所有其他文件。有什么建议吗?
试试这个:
wb <- loadWorkbook("Revenue.xlsx")
writeData(wb, sheet = "Data", Rev_4, colNames = F)
saveWorkbook(wb,"Revenue.xlsx",overwrite = T)
您需要加载完整的工作簿,然后修改其数据,然后将其保存到磁盘。使用 writeData
您还可以指定起始行和列。您还可以在保存到磁盘之前修改其他部分。
我找到了这个包裹。它取决于 openxlsx
并有助于在 xlsx 文件中插入许多工作表。也许这样更容易:
library(xlsx2dfs)
# However, be careful, the function xlsx2dfs assumes
# that all sheets contain simple tables. If that is not the case,
# use the accepted answer!
dfs <- xlsx2dfs("Revenue.xlsx") # all sheets of file as list of dfs
dfs["Data"] <- Rev_4 # replace df of sheet "Data" by updated df Rev_4
dfs2xlsx(dfs, "Revenue.xlsx") # this overwrites the existing file! cave!
我正在使用 "openxlsx" 包来读写 excel 文件。我有一个名为 "Data" 的 sheet 固定文件,它被其他 sheet 中的公式使用。我想更新此数据 sheet 而不触及其他数据。 我正在尝试以下代码:
write.xlsx(x = Rev_4, file = "Revenue.xlsx", sheetName="Data")
但这会删除 excel 文件并创建一个新文件,其中仅包含 "Data" sheet 中的新数据,同时删除所有其他文件。有什么建议吗?
试试这个:
wb <- loadWorkbook("Revenue.xlsx")
writeData(wb, sheet = "Data", Rev_4, colNames = F)
saveWorkbook(wb,"Revenue.xlsx",overwrite = T)
您需要加载完整的工作簿,然后修改其数据,然后将其保存到磁盘。使用 writeData
您还可以指定起始行和列。您还可以在保存到磁盘之前修改其他部分。
我找到了这个包裹。它取决于 openxlsx
并有助于在 xlsx 文件中插入许多工作表。也许这样更容易:
library(xlsx2dfs)
# However, be careful, the function xlsx2dfs assumes
# that all sheets contain simple tables. If that is not the case,
# use the accepted answer!
dfs <- xlsx2dfs("Revenue.xlsx") # all sheets of file as list of dfs
dfs["Data"] <- Rev_4 # replace df of sheet "Data" by updated df Rev_4
dfs2xlsx(dfs, "Revenue.xlsx") # this overwrites the existing file! cave!