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

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

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

我对问题的直截了当的方法:

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)

感谢Martin提出的建议,在评论中对此进行了研究。

链接地址: http://www.djcxy.com/p/27763.html

上一篇: editing particular cells of an Excel sheet

下一篇: Create XML file from string (in cells) with excel