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

每个源文件只包含一个工作表。 我想要的只是将这些表单合并成一个文件。 我想我将不得不使用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') 

谢谢你们俩! 接受你的build议并尝试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() 

这会将sheet 1 ot to_copy粘贴到emptyWorkbook的sheet 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"))