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

如何用R将多个Excel文件合并为一个工作簿的不同工作表?

用R实现多Excel文件合并为单文件多工作表

可以实现,以下是具体操作步骤:

1. 安装并加载依赖包

需要用到readxl读取Excel文件,openxlsx创建多工作表的Excel文件,执行以下代码完成安装和加载:

install.packages(c("readxl", "openxlsx"))
library(readxl)
library(openxlsx)

2. 获取目标文件列表

将所有需要合并的Excel文件放在同一个文件夹下,用代码批量获取文件路径:

# 设置文件所在文件夹路径,示例为当前工作目录
target_dir <- getwd()
# 筛选出所有xlsx格式文件
excel_files <- list.files(path = target_dir, pattern = "\\.xlsx$", full.names = TRUE)

3. 合并文件为多工作表Excel

循环读取每个文件,将其内容作为独立工作表添加到新工作簿中:

# 创建空工作簿
merged_wb <- createWorkbook()

# 遍历处理每个文件
for (file in excel_files) {
  # 读取文件数据(默认读取第一个工作表,需指定其他表可添加sheet参数)
  data <- read_excel(file)
  # 提取文件名作为工作表名称(去除路径和后缀)
  sheet_name <- tools::file_path_sans_ext(basename(file))
  # 添加工作表并写入数据
  addWorksheet(merged_wb, sheetName = sheet_name)
  writeData(merged_wb, sheet = sheet_name, x = data)
}

# 保存合并后的文件
saveWorkbook(merged_wb, file = "e.xlsx", overwrite = TRUE)

额外说明

  • 若原Excel文件包含多个工作表,可嵌套循环读取每个文件内的所有工作表并添加到新工作簿
  • 若文件路径包含中文,需确保R工作目录编码设置正确,避免读取异常
  • overwrite = TRUE参数会覆盖已存在的e.xlsx,如需保留原文件可修改输出文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:50:41