win32 实现 excel 快速复制粘贴
直接简明说:该方法可以直接将一张代码的区域内容直接 copy 到另一张表上,并且字体颜色、背景、格式都不变,另外还可以 copy 公式(相当于 excel 下拉公式)
from win32com.client import Dispatch
import win32com.client
def 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():复制成图片格式