yema125
2021-10-19 15:39
采纳率: 100%
浏览 45
已结题

openpyxl从excel中提取部分表格内容后如何写入word?

我想把excel中一部分cell内容读取并写入word

import openpyxl
wb = openpyxl.load_workbook("C:/temp/academy.xlsx")
ws = wb["savedrecs"]
for i in range(1,8,1):
    colv = ws.cell(row=i,column=22).value
    print (colv)

到这一步能够显示提取了22列1-8行的信息,但是接下来怎么写进word啊

import docx
doc = docx.Document()
doc.add_paragraph(colv)
doc.save('c:/temp/test.docx')

这样为什么写不进word里?

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • CSDN专家-HGJ 2021-10-19 16:08
    已采纳

    首先在用openpyxl读取到数据后,要将数据append进一个列表供调用写入
    其次,在用docx写入表格数据时用add_table函数,遍历行列写入。
    参考一下代码写法,将表格数据完整写入word,添加表格线即可:

    import openpyxl
    wb = openpyxl.load_workbook("t2.xlsx")
    ws = wb["Sheet1"]
    v=[]
    for i in range(1,27,1):
        colv = (ws.cell(row=i,column=1).value,ws.cell(row=i,column=2).value)
        v.append(colv)
    print(v)
    import docx
    doc = docx.Document()
    tb=doc.add_table(rows=26,cols=2)
    for i in range(26):
        tb.cell(i,0).text=v[i][0]
        tb.cell(i,1).text=v[i][1]
    doc.save('t2.docx')
    

    如对你有帮助,请点击我回答的右上方采纳按钮给予采纳一下

    已采纳该答案
    评论
    解决 无用
    打赏 举报
    1人已打赏