openxlsx writeData () может записывать в несколько столбцов? - PullRequest
0 голосов
/ 02 февраля 2019

Следующий код создает файл Excel с буквами от a до f в разных строках одного и того же столбца.Есть ли способ иметь буквы в 3 столбцах и 2 строках, используя только одну функцию writeData ()?

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

1 Ответ

0 голосов
/ 02 февраля 2019

Вы предоставляете вектор для функции 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)
...