直接简明说:该方法可以直接将一张代码的区域内容直接 copy 到另一张表上,并且字体颜色、背景、格式都不变,另外还可以 copy 公式(相当于 excel 下拉公式)
from win32com.client import Dispatchimport win32com.clientdef writeCol(filename): xlApp = win32com.client.Dispatch('Excel.Application') # 使用启动独立的进程: xlBook = xlApp.Workbooks.Open(filename) # 打开文件 sht1 = xlBook.Worksheets(sheet1) # 打开sheet1 sht2 = xlBook.Worksheets(sheet2) # 打开sheet2 # 复制sheet1中A1:E5范围内的内容 sht1.Range("A1:E5").Copy() # 粘贴到sheet2中A1:E5 sht2.Paste(sht2.Range("A1")) #此处的A1是指要复制到目标的起始单元格,也可以是区域范围Range("A1:E5") # 快速复制公式所在单元格 sht1.Range("A1").Copy() # 复制公式到sheet2中A2:A5 sht2.Paste(sht2.Range("A2:A5")) #此处的区域范围Range("A2:A5")是指要复制公式的范围 xlBook.Save() xlBook.Close(SaveChanges=0) del xlApp
备注:
sht1.Range().Copy():复制
sht1.Range(“A1”).Cut():剪切
sht1.Range(“A1”).CopyPicture():复制成图片格式