rexcelopenxlsx

How do I modify an existing sheet in an Excel Workbook using Openxlsx package?


I am using "openxlsx" package to read and write excel files. I have a fixed file with a sheet called "Data" which is used by formulas in other sheets. I want to update this Data sheet without touching the other. I am trying the following code:

write.xlsx(x = Rev_4, file = "Revenue.xlsx", sheetName="Data")

But this erases the excel file and creates a new one with just the new data in the "Data" sheet while all else gets deleted. Any Advice?


Solution

  • Try this:

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

    You need to load the complete workbook, then modify its data and then save it to disk. With writeData you can also specify the starting row and column. And you could also modify other sections before saving to disk.