python - 如何将来自不同文件的多个 Excel 工作表合并为一个文件

标签 python excel win32com

每个源文件只包含一张工作表。我只想将这些工作表组合成一个文件。我想我将不得不使用 win32com。

有人知道吗?

更新:要合并的工作表具有我想保留的大量条件格式。以下代码只能将它们与所有丢失的条件格式化信息组合起来。

from openpyxl import load_workbook, Workbook
import os

fwb = Workbook()

wb = load_workbook('CM1.xlsx')
ws1 = wb.active
wb = load_workbook('CM2.xlsx')
ws2 = wb.active
wb = load_workbook('CM3.xlsx')
ws3 = wb.active

fwb.add_sheet(ws1)
fwb.add_sheet(ws2)
fwb.add_sheet(ws3)

fwb.save('CM.xlsx')

最佳答案

谢谢两位!在采纳您的建议并尝试 5 分钟后,以下方法奏效了!

import win32com.client as win32
import os

excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()

for f in [os.path.join(os.getcwd(), "CM1.xlsx"), os.path.join(os.getcwd(), "CM2.xlsx")]: 
    w = excel.Workbooks.Open(f) 
    w.Sheets(1).Copy(wb.Sheets(1))

wb.SaveAs(os.path.join(os.getcwd(), "CM.xlsx"))
excel.Application.Quit()

关于python - 如何将来自不同文件的多个 Excel 工作表合并为一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21616631/

相关文章:

python - 如何使用 TOR 作为代理?

python - 在python中将字符串压缩为数字

excel - 从 URL HTTPS 下载 xls 文件

vba - Excel 选项按钮 "grayed out"

python - 为什么 dir() 函数未列出某些可调用属性?

python - 线程问题 使用线程时 Kivy 图像纹理不更新

python - 使用 GitPython 列出特定 git 提交的目录内容

vba - 更改单元格中的字符串

python - 无法使用 python 运行 visio 宏

python - 使用 Python 通过 Outlook 发送高重要性电子邮件