要实现这个功能,你可以使用`openpyxl`库来操作Excel文件。以下是一个简单的示例:

1. 首先,安装`openpyxl`库,如果你还没有安装的话。在命令行中输入以下命令进行安装:

```bash
pip install openpyxl
```

2. 然后,使用以下代码将多个Excel工作表复制到一个新的汇总表中,并生成目录:

import os
from openpyxl import Workbook, load_workbook

def copy_sheets_to_summary(input_files, output_file):
    # 创建一个新的工作簿
    summary_wb = Workbook()
    summary_ws = summary_wb.active
    summary_ws.title = "目录"

    # 遍历输入文件列表,打开每个文件并将其工作表复制到汇总表中
    for index, input_file in enumerate(input_files):
        input_wb = load_workbook(input_file)
        for sheet_name in input_wb.sheetnames:
            input_ws = input_wb[sheet_name]
            summary_ws.cell(row=index + 1, column=1, value=os.path.basename(input_file))
            summary_ws.cell(row=index + 1, column=2, value=sheet_name)

            # 复制工作表内容到新的工作簿
            new_ws = summary_wb.create_sheet(sheet_name)
            for row in input_ws.iter_rows():
                for cell in row:
                    new_ws.cell(row=cell.row, column=cell.column, value=cell.value)

    # 保存汇总表
    summary_wb.save(output_file)

# 示例:将两个Excel文件的工作表复制到一个汇总表中
input_files = ["file1.xlsx", "file2.xlsx"]
output_file = "summary.xlsx"
copy_sheets_to_summary(input_files, output_file)
```

这段代码定义了一个名为`copy_sheets_to_summary`的函数,它接受一个输入文件列表和一个输出文件名。对于每个输入文件,它会打开文件并将所有工作表复制到一个新的汇总表中。同时,它还会生成一个目录,列出每个输入文件的名称和它们包含的工作表名称。最后,它会将汇总表保存到指定的输出文件中。

完整源码下载:https://download.csdn.net/download/aszhangwendi/88958792

03-15 13:41