如何将不同文件中的多个Excel表格合并到一个fi中

2024-05-14 23:48:59 发布

您现在位置:Python中文网/ 问答频道 /正文

每个源文件只包含一个工作表。我只想把这些表格合并成一个文件。我想我得用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')

Tags: importadd格式load条件xlsxsheetactive
2条回答

这将把第1页ot粘贴到空工作簿的第1页

empty_wb = xl.Workbooks.Open(util.getTestRessourcePath("emptyWorkbook.xlsx"))
tocopy_wb = xl.Workbooks.Open(util.getTestRessourcePath("toCopy.xls"))

tocopy_wb.Sheets(1).Cells.Copy()
empty_wb.Sheets(1).Paste(empty_wb.Sheets(1).Range("A1"))

谢谢你们俩!听了你的建议并试了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()

相关问题 更多 >

    热门问题