每个源文件只包含一张工作表。我只想将这些工作表组合成一个文件。我想我将不得不使用 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/