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

如何使用python将excel表格粘贴到word中,python,ms-word,win32com,Python,Ms Word,Win32com,我正在尝试将excel表格复制到word文件中,其格式保持不变,到目前为止,我已经找到了下面提到的代码。但这段代码在粘贴到word中时,会从word文件中删除所有其他内容。请帮助,如何只附加到现有的word文档中,而不是覆盖它 from win32com import client excel = client.Dispatch("Excel.Application") word = client.Dispatch("Word.Application") doc = word.Documents

我正在尝试将excel表格复制到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相反)对象。然后,您需要将
范围
折叠到其起点或终点-将其想象为按向左或向右箭头键将选择“折叠”到一个点。然后,您可以插入新内容而不干扰现有内容

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)

如果要向文档中添加文本,则需要告诉Word文本的位置。这就是Range方法的作用。虽然您看不到文本,但有一个“网格”排序,告诉Word如何在屏幕上布局文本。因此,如果要在文档的最顶端插入文本,我们会告诉它从(0,0)开始-本文中的片段也请查看