openxlsx writeData() 可以写入多列吗?
can openxlsx writeData() write to multiple columns?
以下代码创建了一个 excel 文件,在同一列的不同行上包含字母 a 到 f。有没有办法在只使用一个 writeData() 函数的情况下将字母分为 3 列和 2 行?
wb <- createWorkbook()
addWorksheet(wb, 1)
writeData(wb, 1, c("a", "b", "c", "d", "e", "f"), startCol = 5, startRow = 5)
saveWorkbook(wb, file = "test.xlsx", overwrite = TRUE)
所以我希望它输出如下:
a b c
d e f
您正在为 writeData
函数提供向量。这就是为什么您将所有内容都放在 1 列中的原因。如果您提供矩阵或 data.frame ,您将获得所需的结果。下面是一个简单的示例,可以满足您的需求。
library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, 1)
writeData(wb, 1,
matrix(c("a", "b", "c", "d", "e", "f"), nrow = 2), # <-- matrix / data.frame
colNames = FALSE, # <-- set colNames to false
startCol = 5,
startRow = 5)
saveWorkbook(wb, file = "test.xlsx", overwrite = TRUE)
以下代码创建了一个 excel 文件,在同一列的不同行上包含字母 a 到 f。有没有办法在只使用一个 writeData() 函数的情况下将字母分为 3 列和 2 行?
wb <- createWorkbook()
addWorksheet(wb, 1)
writeData(wb, 1, c("a", "b", "c", "d", "e", "f"), startCol = 5, startRow = 5)
saveWorkbook(wb, file = "test.xlsx", overwrite = TRUE)
所以我希望它输出如下:
a b c
d e f
您正在为 writeData
函数提供向量。这就是为什么您将所有内容都放在 1 列中的原因。如果您提供矩阵或 data.frame ,您将获得所需的结果。下面是一个简单的示例,可以满足您的需求。
library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, 1)
writeData(wb, 1,
matrix(c("a", "b", "c", "d", "e", "f"), nrow = 2), # <-- matrix / data.frame
colNames = FALSE, # <-- set colNames to false
startCol = 5,
startRow = 5)
saveWorkbook(wb, file = "test.xlsx", overwrite = TRUE)