0

以下は私のコードで、pywin32 と xlrd の両方を使用しています。ここでの問題は、xls に複数のシートがあり、シートが 1 つずつアクセスされて Word 文書に書き込まれ、コードが Word 文書に書き込まれると、前のシートの内容が上書きされることです。私が求めているのは、データを 1 つずつ追加する必要があるということです。誰かが解決策を提供できれば、私が取り組んでいる問題にそれが必要なので、感謝します:

from win32com import client
import xlrd
book1 = xlrd.open_workbook("E:/excel2word/454184_Appendix E 300713 Worcester NH.xls",formatting_info=True)
excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open("E:/excel2word/Doc1.docx")
book = excel.Workbooks.Open("E:/excel2word/454184_Appendix E 300713 Worcester NH.xls")
count = book.Sheets.Count
print count
mapping ={'1':'A','2':'B','3':'C','4':'D','5':'E','6':'F','7':'G','8':'H','9':'I','10':'J','11':'K'}
for i in xrange(1,count+1):
    sh = book1.sheet_by_index(i-1)
    sheet = book.Worksheets(i)
    print sheet
    sheet.Range("A4:"+str(mapping[str(sh.ncols)])+""+str(sh.nrows)).Copy()
    print "A4:"+str(mapping[str(sh.ncols)])+""+str(sh.nrows)
    doc.Content.PasteExcelTable(False,False,False)
4

1 に答える 1