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

使用openxlsx批量导入Excel至R时遇参数错误问题排查

问题:使用openxlsx批量导入Excel文件时出现无效路径参数错误

我需要编写代码将多个Excel文件导入R,选择openxlsx包是因为后续要输出特定行列到Excel且不破坏现有公式。但运行代码时出现错误:
Error in file(description = xlsxFile) : invalid 'description' argument

出错代码

library(openxlsx)

file.list <- list.files(pattern='*.xlsx')
sheet <- "Sheet 1"

# Start loop
for (i in seq(length(file.list))) {
  
wb <- loadWorkbook(file = i)
  

#Read a section of a sheet 
Data_Info<- read.xlsx(wb, sheet = sheet,
                                colNames = TRUE, #Column Names are there
                                rows = seq(1:nrow(df)), #Copy out these rows
                                cols = seq(1:15)) #Copy out these columns

# Assign a name to the data frames created
assign(paste("Data_00", i), Data_Info)
}

错误追踪信息

3: file(description = xlsxFile)
2: getFile(file)
1: openxlsx::loadWorkbook(file = i)

解决方法

问题核心是循环遍历的对象错误:for (i in seq(length(file.list)))遍历的是整数索引(1、2、3...),而loadWorkbook需要传入的是具体文件名,因此直接传入索引值会导致无效路径参数。

将循环语句改为直接遍历文件名列表即可修复:

for (i in file.list) {
  # 后续代码保持不变
}

另外注意代码中rows = seq(1:nrow(df))里的df未定义,运行时会引发新错误,建议先获取目标工作表的实际行数:

# 在read.xlsx前添加
sheet_dim <- getDimensions(wb, sheet = sheet)
sheet_rows <- sheet_dim[1]

# 修改rows参数
rows = seq(1:sheet_rows)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 08:31:03