Python win32com复制并粘贴特殊的整张表

时间:2018-12-10 22:55:33

标签: python-3.x win32com

我正在尝试复制文件“ file1.xlsx”中的sheet1,并将其值仅粘贴(特殊)到文件“ file2.xlsx”的sheet1中。我读了很多答案,但似乎它们都显示了如何复制特定单元格而不是整张纸。 我设法到达了代码的这一部分

from win32com.client import Dispatch
import openpyxl
from openpyxl import Workbook
path1 = 'file1.xlsx'
path2 = r'file2.xlsx'

xl = Dispatch("Excel.Application")
xl.Visible = False  Excel application to be visible
xl.DisplayAlerts = False

wb1 = xl.Workbooks.Open(Filename=path1)

tgt_wb = Workbook()
tgt_wb.save(path2)
tgt_wb.close()

wb2 = xl.Workbooks.Open(Filename=path2)

#ws1 = wb1.Worksheets(1)
ws1 = wb1.Worksheets("sheet1)
ws1.Copy(Before=wb2.Worksheets(1))

wb1.Close(SaveChanges=False)
wb2.Close(SaveChanges=True)
xl.Quit()

但是,此代码会将公式而不是值从file1复制到file2。 我可以看到ws1具有方法“ PasteSpecial()”,但我不知道如何使用它。 Openpyxl不是一种选择,因为我需要从file1复制到文件2的其他工作表之一包含一张图表,该图表会因openpxyl而丢失。感谢您的帮助

0 个答案:

没有答案