这是我使用的代码。

library(xlsx)
wb <- loadWorkbook('D:/test.xls')
sheets <- getSheets(wb)
sheet <- sheets[['my_sheet']]

addDataFrame(x = ds, sheet = sheet, row.names = FALSE, col.names = FALSE, startRow=3, startColumn=1)

cell.1 <- createCell(rows[1], colIndex=34)[[1,1]]
setCellValue(cell.1, "=A32*B33")
saveWorkbook(wb, 'D:/test.xls')

添加数据框可以正常工作。但是当打开xls文件时,我在单元格A34中看到了text“= A32 * B33”(需要按下一个额外的ENTER才能使公式起作用)。您能帮我正确输入公式吗?

最佳答案

我过去使用过xlsx软件包,尽管前景很好,但发现它严重缺乏功能和易用性。一分钟前,当我搜索软件包手册时,似乎无法做您想做的事情。

好消息是,存在替代,形式为XLConnect包。 XLConnect使用与xlsx相同的Java代码(来自Apache POI项目),因此您在操作系统之间仍然具有相同的高级互操作性。
XLConnect具有完成您所需功能的函数:setCellFormula()

引用:

  • http://cran.r-project.org/web/packages/XLConnect/XLConnect.pdf的包装手册
  • 另外,我强烈推荐出色的小插图:http://cran.r-project.org/web/packages/XLConnect/vignettes/XLConnect.pdf


  • PS。你能告诉我我喜欢这个包裹吗?

    关于excel - 使用R的xlsx软件包将公式传递到xls文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9941944/

    10-12 23:06