0

如果可能,我想使用 R 中的 XLConnect 使用矢量化在 Excel 工作簿中的多张工作表中写入 NamedRegions。

我有一个清单:trya $grp1 var1 var2 var3 1455100 459 21 459

$grp2 var1 var2 var3 936710 463 20 463

我有一个工作簿模板(wb1),其中包含一个工作表(Sheet1),其中包含命名区域(每个单元格)。Sheet1 中的命名区域命名为:“varn1”、“varn2”、“varn3”

我可以克隆 Sheet1 来创建单独的工作表来包含 trya 中每个 grp 的数据。

cloneSheet(wb1, sheet="Sheet1", name = names(trya))

但是..我如何在这些表中写入 NamedRegions?我很高兴使用 3 个单独的通道,每个 NamedRegion 一个通道写入多个工作表。这是我从 NamedRegion "varn1 的代码开始:使用代码示例是 writeNamedRegion(object,data,name of region,header,rownames)

writeNamedRegion(wb1, trya??? ,name = "varn1",header = FALSE)

我不知道 1. 如何一般地挑选出 trya 的元素,例如:trya[[1]]$var1?2.如何遍历克隆的工作表,命名为....名称(trya)?

任何帮助将不胜感激。简

4

1 回答 1

0

XLConnect 的许多函数/方法都是矢量化的。这也适用于writeNamedRegion。以下示例说明了如何使用单个调用将listof写入适当的命名区域:data.framewriteNamedRegion

require(XLConnect)

wb = loadWorkbook("test.xlsx", create = TRUE)

mySheets = paste0("MySheet", 1:3)
myNames = paste0("MyName", 1:3)
myData = list(mtcars, CO2, USArrests)

createSheet(wb, name = mySheets)
createName(wb, name = myNames, formula = paste(mySheets, "$A$1", sep = "!"))

writeNamedRegion(wb, data = myData, name = myNames)

saveWorkbook(wb)
于 2015-12-08T22:07:05.087 回答