R – XLSX:将一个值添加到现有的Excel表中

我有一个非常直接的问题,这是相当标准的我认为。 不幸的是我有一些困难,find正确的语法来解决它。 我只是想写数据(这里:一个简单的整数)到现有的Excel表格。

我发现,一个很好的方法是使用包“xlsx”。

require(xlsx) # Load the xlsx package 

接下来,我将不得不加载文件,并加载所有的工作表。

 wb <- loadWorkbook("test.excelfile.xls") # Load the xls file sheets <- getSheets(wb) # load all sheet objects 

然后我input值。 这些是生成错误的行。

 addDataFrame(data.frame(123), sheets[1]) # Error in addDataFrame(data.frame(123), sheets[1]) : attempt to apply non-function addDataFrame(123, sheets[1]) # alternative try, same error 

最后我保存工作簿。

 saveWorkbook(wb, "test.excelfile.xls") # not checked yet because error occurs in line above 

已经存在的xls文件不被破坏对我来说很重要。 我想保留所有的工作表,VBAmacros和表单元素。 只有一些细胞应该从R内部改变。

非常感谢您的帮助,

马蒂亚斯

最后,我设法做我正在寻找的东西。 我search了一下“Excel连接工具”(参见Carl Witthoft的推荐),发现一个好的软件包是XLConnect。

以下命令将一个简单的数字写入一个单元格。 他们也保持VBAmacros不变。

 require(XLConnect) # Load workbook; create if not existing wb <- loadWorkbook("MC_Auswertung.xls", create = TRUE) # write to the workbook writeWorksheet(wb, 750, sheet="Auswertung", # write '750' to sheet 'Auswertung' in workbook 'wb' startRow=8, startCol=4, # specify the cell to write to header=FALSE) # do not write a header row # Save workbook saveWorkbook(wb) 

只有一件事打击了我。 在操作之前,xls文件有32.953字节。 上面的操作后只有28.958字节。 所以大量的“数据”消失了。 我不知道已经走了吗? 细胞内容仍然存在。 所以是图表,背景和边框样式,…

期待你的命令;-)