簡體   English   中英

如何將來自不同文件的多個Excel工作表合並為一個文件

[英]How to merge several Excel sheets from different files into one file

每個源文件只包含一個工作表。 我想要的是將這些表合並到一個文件中。 我想我必須使用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()

這會將sheet 1 ot to_copy粘貼到emptyWorkbook的第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"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM