从R /外部环境

时间:2015-07-18 16:19:56

标签: r excel xlconnect rexcel

我在excel中有一个启用宏的模板,我希望以编程方式从R.

填充

我有一个R进程,为我处理的每个项目检索不同的数据集,处理它们,然后我希望它复制并填充每个数据集的模板,绕过需要通过以下方式填充模板为每组数据提供帮助。

我一直在使用XLConnect R软件包,但它不支持.xlsm文件。我想过使用RExcel,但是我想从R环境运行程序,而不是从Excel中运行(我在尝试安装RExcel时遇到了很多困难)。

这是针对必须每年完成的课程课程数据库验证过程,因此,为我部门的每门课程手工填写模板根本不可行,必须以自动方式完成。我想使用R的部分原因是因为我可以用Shiny构建一个漂亮的用户界面,其中excel工作簿就像死亡一样。

是否有另一种方法以编程方式填充excel宏单元并实际让宏接受并运行数据,或者我是否需要学习VBA并在excel中编写程序来处理这个问题?

1 个答案:

答案 0 :(得分:2)

如下所示:

library(xlsx)

xl <- loadWorkbook("Workbook1.xlsm")
sheets <- getSheets(xl)
cells <- getCells(getRows(sheets[[1]]))
setCellValue(cells[[1]], 400)
saveWorkbook(xl, "NewWorkbook.xlsm")

将保留Workbook1.xlsm中的所有宏,同时用数据填充实际单元格。