编辑Excel工作表的特定单元格

我有一个Excel工作簿,我想编辑/使用R填充一些特定的单元格,而不更改任何格式。

到目前为止,我已经尝试过XLConnect包,它似乎可以做我正在寻找的东西,我只是没有find办法做到这一点。

直接解决问题的方法是:

wb <- loadWorkbook("file1.xls") data1 <- readWorksheet(wb, "Sheet1", header=TRUE) ## adding a value to a particular cell: data1[11,12] <- 3.2 ## rewriting old data: writeWorksheet(wb, data1, "Sheet1") saveWorkbook(wb, "new_file1.xls") 

但是,这种方式新的工作簿失去了所有以前的格式(合并的单元格,公式等)。

有没有办法改变一些单元格中的值而不会丢失其余表单的格式?

这里是一个使用R来自动化Excel的例子。

 library(RDCOMClient) xlApp <- COMCreate("Excel.Application") wb <- xlApp[["Workbooks"]]$Open("file.1.xls") sheet <- wb$Worksheets("Sheet1") # change the value of a single cell cell <- sheet$Cells(11,12) cell[["Value"]] <- 3.1 # change the value of a range range <- sheet$Range("A1:F1") range[["Value"]] <- paste("Col",1:6,sep="-") wb$Save() # save the workbook wb$SaveAS("new.file.xls") # save as a new workbook xlApp$Quit() # close Excel 

使用XLC$STYLE_ACTION.NONE风格的动作应该添加你的数据而不改变任何格式:

 data1 <- readWorksheetFromFile("file1.xls", "Sheet1") ## adding a value to a particular cell: data1[11,12] <- 3.2 ## rewriting old data: writeWorksheetToFile("file1.xls", data1, "Sheet1", styleAction = XLC$STYLE_ACTION.NONE) 

感谢马丁的build议,在评论中看到这一点。