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

批量为指定文件夹内所有.xlsx文件添加M1、M2、M3工作表

批量处理Excel文件添加工作表解决方案

要实现批量遍历指定文件夹的.xlsx文件并添加工作表,你可以借助glob模块快速匹配目标文件,再将单文件操作封装为循环执行的逻辑,以下是完整实现代码:

from openpyxl import load_workbook
from glob import glob
import os

def add_sheets_to_excel(file_path, save_to_original=True):
    try:
        # 加载Excel工作簿
        wb = load_workbook(file_path)
        # 定义要添加的工作表名称
        sheet_names = ['M1', 'M2', 'M3']
        
        # 先检查工作表是否已存在,避免重复创建报错
        existing_sheets = wb.sheetnames
        for sheet_name in sheet_names:
            if sheet_name not in existing_sheets:
                wb.create_sheet(sheet_name)
        
        # 选择保存方式:覆盖原文件或保存为新文件
        if save_to_original:
            wb.save(file_path)
            print(f"已处理并覆盖原文件:{file_path}")
        else:
            # 生成新文件名,在原文件名后加"_modified"
            dir_name, file_name = os.path.split(file_path)
            name, ext = os.path.splitext(file_name)
            new_file_path = os.path.join(dir_name, f"{name}_modified{ext}")
            wb.save(new_file_path)
            print(f"已处理并保存为新文件:{new_file_path}")
    except Exception as e:
        print(f"处理文件{file_path}时出错:{str(e)}")

# 指定目标文件夹路径
target_folder = r'C:\Users\alex\mob'
# 匹配文件夹下所有.xlsx文件
excel_files = glob(os.path.join(target_folder, '*.xlsx'))

# 批量处理每个文件
for file in excel_files:
    add_sheets_to_excel(file, save_to_original=True)  # 设为False则保存为新文件

关键说明:

  • 用glob模块的*.xlsx匹配规则,快速筛选目标文件夹下的所有Excel文件
  • 增加了工作表存在检查,避免重复创建同名工作表导致报错
  • 通过save_to_original参数控制保存方式:True覆盖原文件,False生成带_modified后缀的新文件
  • 加入异常处理,单个文件处理失败不会中断整个批量任务,同时输出错误信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 18:37:12