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

如何用R将Excel工作表从一个文件复制到另一个现有文件?

使用openxlsx跨工作簿复制工作表的方法

cloneWorksheet()确实仅支持同一工作簿内的工作表克隆,要实现跨工作簿复制且保留目标工作簿原有内容,可通过以下步骤操作:

具体实现步骤

  1. 加载openxlsx包
    library(openxlsx)
    
  2. 加载源工作簿与目标工作簿
    用loadWorkbook()读取已存在的Excel文件,而非新建工作簿:
    # 加载包含待复制工作表的源文件
    source_wb <- loadWorkbook("你的源文件路径.xlsx")
    # 加载需要添加工作表的目标文件
    target_wb <- loadWorkbook("你的目标文件路径.xlsx")
    
  3. 跨工作簿复制工作表
    使用copyWorksheets()函数,它能完整保留源工作表的格式、公式、样式等内容:
    # 将源工作簿中指定工作表复制到目标工作簿,可自定义新工作表名称
    copyWorksheets(source_wb, target_wb, sheet = "源工作表名称", newSheetName = "复制后的工作表名称")
    
    若需复制多个工作表,将sheet参数改为向量即可,例如:sheet = c("工作表1", "工作表2")。
  4. 保存更新后的目标工作簿
    saveWorkbook(target_wb, "你的目标文件路径.xlsx", overwrite = TRUE)
    
    这里的overwrite = TRUE仅会覆盖原目标文件,但不会删除其中原有工作表,仅添加新复制的内容。

注意事项

  • 操作时确保源文件与目标文件未被其他程序占用,否则会触发读写错误。
  • copyWorksheets()是openxlsx专为跨工作簿复制设计的函数,比手动读取数据再写入更能还原源工作表的完整属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:39:54