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

如何用Python实现Excel工作表跨工作簿完整复制粘贴?

解决方案:批量复制Excel工作表并保留所有格式

一、Python方案:使用win32com.client(仅Windows环境)

这个库直接调用本地Excel程序,完全复刻你手动复制粘贴的操作逻辑,能100%保留所有格式、公式、列宽行高、折叠行等属性,是最贴合需求的方案。

示例代码

import win32com.client as win32
import os

# 配置路径和参数
source_file = "C:/path/to/source.xlsx"
source_sheet_name = "要复制的工作表"
target_folder = "C:/path/to/target_workbooks/"

# 初始化Excel应用
excel = win32.Dispatch("Excel.Application")
excel.Visible = False  # 后台运行,不显示窗口
excel.DisplayAlerts = False  # 关闭弹窗提示

try:
    # 打开源工作簿并定位目标工作表
    source_workbook = excel.Workbooks.Open(source_file)
    source_sheet = source_workbook.Worksheets(source_sheet_name)

    # 遍历目标文件夹下的所有Excel文件
    for filename in os.listdir(target_folder):
        if filename.endswith(".xlsx") or filename.endswith(".xls"):
            target_path = os.path.join(target_folder, filename)
            target_workbook = excel.Workbooks.Open(target_path)
            # 将源工作表复制到目标工作簿的指定位置(这里是第一个工作表之前)
            source_sheet.Copy(Before=target_workbook.Worksheets(1))
            target_workbook.Save()
            target_workbook.Close()

finally:
    # 清理资源
    source_workbook.Close()
    excel.Quit()

说明

  • 需提前安装依赖库:pip install pywin32
  • 仅支持Windows系统,依赖本地安装的Excel程序

二、跨平台方案:使用xlwings

xlwings支持Windows和Mac双平台(Mac需安装Excel),同样通过调用原生Excel程序实现复制,完整保留所有工作表属性。

示例代码片段

import xlwings as xw
import os

source_file = "path/to/source.xlsx"
source_sheet_name = "要复制的工作表"
target_folder = "path/to/target_workbooks/"

with xw.App(visible=False) as app:
    source_book = xw.Book(source_file)
    source_sheet = source_book.sheets[source_sheet_name]

    for filename in os.listdir(target_folder):
        if filename.endswith((".xlsx", ".xls")):
            target_path = os.path.join(target_folder, filename)
            target_book = xw.Book(target_path)
            # 将源工作表复制到目标工作簿的最后一个工作表之后
            source_sheet.copy(after=target_book.sheets[-1])
            target_book.save()
            target_book.close()

说明

  • 安装命令:pip install xlwings
  • 依赖本地安装的Excel程序,跨平台兼容性更好

三、其他语言方案:VBA脚本

如果不依赖Python,可直接编写VBA宏批量处理,同样能完整保留所有格式属性,适合纯Excel环境下的操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:43:11