python word 表格复制_python用win32com实现从excel复制表格到word

def copy_table_from_excel_to_word():

import time

from win32com import client

excel = client.Dispatch('Excel.Application')

word = client.Dispatch('Word.Application')

doc = word.Documents.Open('C:\\Users\\Administrator\\Desktop\\test.docx')

wb = excel.Workbooks.Open('C:\\Users\\Administrator\\Desktop\\tav.xlsx')

sheet = wb.Worksheets(1)

tn = sheet.Cells(2, 1).value

start_row = 2

end_row = 2

# 循环 把Excel第一列值一样的选中复制到word中

while True:

if sheet.Cells(start_row, 1).value = '':

print('finish')

break

if sheet.Cells(end_row + 1, 1).value == tn:

end_row += 1

else:

print(tn)

word.Selection.InsertAfter('\n%s\n' % tn)

word.Selection.InsertAfter('%s\n' % sheet.Cells(start_row, 2).value)

time.sleep(0.3)

_ = word.Selection.MoveRight()

time.sleep(0.3)

_ = sheet.Range('C1:H1').Copy()

word.Selection.PasteExcelTable(False, True, False)

time.sleep(0.3)

_ = sheet.Range('C%d:H%d' % (start_row, end_row)).Copy()

word.Selection.PasteExcelTable(False, True, False)

time.sleep(0.3)

start_row = end_row + 1

end_row += 1

tn = sheet.Cells(start_row, 1).value

doc.Close()

wb.Close()

com对象的各种属性和方法参考:

https://docs.microsoft.com/zh-CN/office/vba/api/word.paragraphformat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值