首页 > 解决方案 > 将数据从 R 传输到特定工作表和 XLSX 文件的特定范围

问题描述

我正在尝试将矩阵(或数据框)从 R 传输到 MS xlsx 文件。

我知道该xlsx软件包没有提供很多将数据粘贴到 xlsx 工作表特定范围的选项(我发现的唯一选项 addDataFrame是难以处理的功能)以及保存工作簿的功能(xlsx::saveWorkbook) 需要很多时间。

因此,我尝试使用该openxlsx包及其writeData功能。

这是我的代码:

WB = loadWorkbook(file = paste(Out_dir, Out_FN, sep="")) writeData(wb=WB, sheet = "sheetName", x = Data, startRow = 11, startCol = 5, colNames = FALSE, rowNames = FALSE)

whereOut_dirOut_FN是我要传输数据的目录和 xlsx 文件名。

虽然,当我使用该loadWorkbook功能时,我收到以下错误消息:

grepl 中的错误(目标,commentsXML):无效的“模式”参数

任何提出的解决方案将不胜感激。

标签: rexcelxlsx

解决方案


我认为您的代码的问题是您的目录的粘贴功能。如果文件路径中没有/,则会出现错误。如果您将工作簿保存到名为的工作目录Book3.xlsx并尝试以下代码。它应该为您提供 openxlsx 包功能的工作示例并订购以产生您想要的结果。

library(openxlsx)
out_dir<-paste0(getwd(),"/")
out_file<-"Book3.xlsx"
df<-data.frame(a=c(1,2,3), b=c("a","b","c"))
wb<- loadWorkbook(paste0(out_dir,out_file))
addWorksheet(wb,"sheetName")
writeData(wb,"sheetName",df)
saveWorkbook(wb, out_file, overwrite = TRUE)

推荐阅读