You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R的openxlsx2包将数据框/向量横向写入Excel?

解决openxlsx2横向写入向量的问题

openxlsx2的add_data函数默认会将一维向量按垂直(列)方向写入Excel。要实现横向写入(A1、B1、C1),只需将向量转换为行维度的结构(如单行矩阵或转置后的向量),具体有两种常用方法:

方法1:转换为单行矩阵

通过matrix()函数将向量转为行数为1的矩阵,明确指定行维度,让函数按行写入:

library(openxlsx2)
wb = wb_workbook()
wb$add_worksheet('test')

vec = c('Yes', 'Not Found', 'Yes')
# 转为单行矩阵后写入
wb$add_data(sheet = 'test', x = matrix(vec, nrow = 1))

# 保存文件验证结果
wb$save('test.xlsx')

方法2:转置向量

利用t()函数转置向量(转置后向量会自动变为单行矩阵结构),同样能实现横向写入:

library(openxlsx2)
wb = wb_workbook()
wb$add_worksheet('test')

vec = c('Yes', 'Not Found', 'Yes')
# 转置后写入
wb$add_data(sheet = 'test', x = t(vec))

# 保存文件验证结果
wb$save('test.xlsx')

原理说明

openxlsx2会根据输入对象的维度判断写入逻辑:

  • 一维向量:默认按列方向写入(A1、A2、A3)
  • 二维结构(如单行矩阵、单行数据框):按行方向写入(A1、B1、C1)

内容的提问来源于stack exchange,提问作者Kurt Amend

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:22:14