我正在尝试复制文件“ 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而丢失。感谢您的帮助