【问题标题】:can openxlsx writeData() write to multiple columns?openxlsx writeData() 可以写入多列吗?
【发布时间】:2019-02-02 14:32:05
【问题描述】:

以下代码在同一列的不同行上创建一个带有字母 a 到 f 的 Excel 文件。有没有办法在只使用一个 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

【问题讨论】:

    标签: r openxlsx


    【解决方案1】:

    您正在为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)
    

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多