在R中使用write.xlsx,如何在excel文件中的特定行或列中写入

时间:2015-09-17 13:54:40

标签: r

我正在使用R,我需要在excel文件中写入结果。为此我在R中使用“xlsx”包。我有以下问题:

1)请告诉我,如何在excel文件的特定单元格中写入? ,即我想写在我的Excel表格的“B10”单元格中

2)如何在预定范围内写入(例如“B10:H20”)

提前致谢

2 个答案:

答案 0 :(得分:5)

关键是如何设置初始数据。这是您可以使用的一种解决方案。您没有包含任何示例数据,因此我刚刚使用了您列出的2个单元格引用。

library(xlsx) #load the package
# we'll assume your spreadsheet will be 20 rows & 8 columns
m <- (matrix('',nrow = 20,ncol = 8)) # '' removes NA from your final spreadsheet
# place values in specific cells 
m[10,2] <- c("B10") # as B10 is in row 10 and column 2
m[20,8] <- c("H20")
# export as xlsx
write.xlsx(x = m, file = "your.excelfile.xlsx",sheetName = "test", row.names = FALSE, col.names=FALSE)

答案 1 :(得分:2)

要插入现有文件的B10:H20范围:

library(xlsx)
# load file contents
file <- "yourfilename.xlsx"
wb <- loadWorkbook(file)
sheets <- getSheets(wb)
sheet <- sheets[[1]]  # or another
# data to put into B10:H20 range
data <- matrix(runif(7*11), nrow=11, ncol=7)
# modify contents
addDataFrame(data, sheet, col.names = FALSE, row.names = FALSE,
    startRow = 10, startColumn = 2)
# save to disk
saveWorkbook(wb, file)

可能不是最优雅的方式,但可以成为你的起点。