Python保留格式复制多个Excel工作表到汇总表并生成目录(附源码下载)

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

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

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

python 复制代码
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

相关推荐
萑澈2 小时前
Windows 7 运行 Electron 安装包报“不是有效的 Win32 应用程序”怎么办
javascript·windows·electron
m0_377618232 小时前
Golang怎么连接MySQL数据库_Golang MySQL连接教程【总结】
jvm·数据库·python
LN花开富贵3 小时前
【ROS】鱼香ROS2学习笔记一
linux·笔记·python·学习·嵌入式·ros·agv
weixin_586061463 小时前
C#怎么通过反射获取类属性_C#如何动态读取元数据【进阶】
jvm·数据库·python
Jurio.3 小时前
本机开发 + 多机执行的极简远端运行工具
linux·git·python·github·远程工作
skywalk81633 小时前
pytest测试的时候这是什么意思?Migrating <class ‘kotti.resources.File‘>
前端·python
overmind3 小时前
oeasy Python 121[专业选修]列表_多维列表运算_列表相加_列表相乘
java·windows·python
m0_678485454 小时前
CSS如何控制表格单元格边框合并_通过border-collapse实现
jvm·数据库·python
m0_748839494 小时前
如何用组合继承模式实现父类方法复用与子类属性独立
jvm·数据库·python
qq_334563554 小时前
PHP源码是否依赖特定芯片组_Intel与AMD平台差异【操作】
jvm·数据库·python