将数据导出到Excel工作表中的特定单元格

Dom*_*Dom 6 r export-to-excel

我需要将R中的数据框导出到Excel工作表,可以通过以下方式完成:

require("xlsx")
write.xlsx(x, file, sheetName="Sheet1", col.names=TRUE, 
    row.names=TRUE, append=FALSE, showNA=TRUE)
Run Code Online (Sandbox Code Playgroud)

然后,我将导出的数据从Excel工作表的单元格"A1"开始粘贴.我也可以设置,append=TRUE因此数据将添加到工作表的末尾.

是否有可能把它放入特定的细胞?我需要将数据框导出到从单元格开始的范围C10.这可能吗?

更新:工作 表包含行1-9和列中的数据A-B.因此,不可能只将空单元格添加到数据框并将其粘贴到Excel工作表中,因为这些空单元格将擦除数据.

rmu*_*uc8 6

你可以用这个包来做XLConnect.

library(XLConnect)
wb <- loadWorkbook("File_result.xlsx"), create = TRUE)
createSheet(wb, name = "Sheet1")

# here, you can set the startRow and startCol. Col A = 1, B = 2,...
writeWorksheet(wb,x,"Sheet1",startRow = 10, startCol = 3, header = TRUE)

# automatically adjust column width
setColumnWidth(wb, sheet = "Sheet1", column = 3:4, width = -1)
saveWorkbook(wb)
Run Code Online (Sandbox Code Playgroud)

  • 应该提到(在 2020 年),如果安装了 XLSX 软件包(及其依赖项),则应卸载 XLSX 和 XLConnect(及其依赖项),并应再次安装 XLConnect,因为依赖项和软件包存在一些冲突。 (2认同)

Mol*_*olx 1

您可以用空数据填充空单元格:

data <- matrix(1:100, ncol=5)
col.offset <- 2
row.offset <- 9
emptycols <- matrix("", ncol=col.offset, nrow=nrow(data))
data <- cbind(emptycols, data)
emptyrows <- matrix("", nrow=row.offset, ncol=ncol(data))
data <- rbind(emptyrows, data)
write.table(data, "test.csv", row.names=FALSE, col.names=FALSE)
Run Code Online (Sandbox Code Playgroud)

或者,如果您想保留原始数据:

data <- matrix(1:100, ncol=5)
col.offset <- 2
row.offset <- 9
orig.data <- as.matrix(read.csv("test.csv", header=FALSE, stringsAsFactors=FALSE))
orig.cols <- orig.data[1:nrow(data), 1:col.offset]
data <- cbind(orig.cols, data)
orig.rows <- orig.data[1:row.offset, 1:ncol(data)]
data <- rbind(orig.rows, data)
Run Code Online (Sandbox Code Playgroud)