может openxlsx writeData () записывать в несколько столбцов?

Следующий код создает файл 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

person Steve    schedule 02.02.2019    source источник


Ответы (1)


Вы передаете вектор функции writeData. Поэтому у вас все в одной колонке. Если вы предоставите матрицу или 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)
person phiver    schedule 02.02.2019