如何使用 python 将 excel table 粘贴到 word 中

How to paste excel table into word using python

我正在尝试将 excel table 复制到格式完整的 word 文件中,到目前为止,我找到了下面提到的代码。但是此代码在粘贴到 Word 时会从 Word 文件中删除所有其他内容。请帮助,如何只附加到现有的 word 文档而不是覆盖它?

from win32com import client
excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open("C:/word_file.docx")
book = excel.Workbooks.Open("C:/excel_file.xlsx")
sheet = book.Worksheets(1)
sheet.Range("A1:D20").Copy()      # Selected the table I need to copy
doc.Content.PasteExcelTable(False, False, False)

我真的不知道 Python,但是从您给我们看的代码片段推断,看看如何将文档的整个正文分配给 Word.Range(而不是 Excel.Range) 对象。然后你需要折叠 Range,到它的起点或终点 - 把它想象成按向左或向右箭头键 "collapse" 选择到一个点。然后您可以在不影响现有内容的情况下插入新内容。

from win32com import client
excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open("C:/word_file.docx")
book = excel.Workbooks.Open("C:/excel_file.xlsx")
sheet = book.Worksheets(1)
sheet.Range("A1:D20").Copy()      # Selected the table I need to copy
wdRange = doc.Content
wdRange.Collapse(1) #start of the document, use 0 for end of the document
wdRange.PasteExcelTable(False, False, False)