如何使用python在excel中粘贴特殊内容

时间:2012-02-16 16:40:17

标签: python excel win32com

所以我试图将很多数据从一本woorkbook复制到另一本woorkbook。问题是源工作簿中的数据有一些奇怪的格式,所以我想得到值。我到目前为止的代码就是这个。

excel=win32com.client.Dispatch("Excel.Application");
excel.Visible = 1;
source = excel.Workbooks.Open(Cali.xlsm');
copy = excel.Workbooks.Open(temp.xlsx');
sdata = source.ActiveSheet;cdata = copy.ActiveSheet;
data=sdata.Range("89:89")
sdata.Range("89:89",data.End(4)).Copy()

现在我可以使用

cdata.Paste()

但它也粘贴了格式化

我找到了

cdata.PasteSpecial()

但它也粘贴了格式化。

任何知道如何使用PasteSpecial()的人都会复制这些值,或者有人知道更好的方式,我会非常感激。

1 个答案:

答案 0 :(得分:2)

您可以尝试以下操作,将单元格A1:A3中的值从一个工作簿复制到另一个工作簿。

from win32com.client import Dispatch
wkbk1 = "...\workbook1.xlsx"
wkbk2 = "...\workbook2.xlsx"
excel = Dispatch("Excel.Application")
excel.Visible = 1
source = excel.Workbooks.Open(wkbk1)
excel.Range("A1:A3").Select()
excel.Selection.Copy()
copy = excel.Workbooks.Open(wkbk2)
excel.Range("A1:A3").Select()
excel.Selection.PasteSpecial(Paste=-4163)

wkbk1和wkbk2是两个工作簿的文件路径。