import docx
import win32com
import win32com.client
from docx.shared import Inches
from openpyxl.reader.excel import load_workbook


def writeWordDoc():
    # 调用win32com的系统接口打开Word
    word = win32com.client.Dispatch("Word.Application")  # 操作word
    word.Visible = False  # 可以看见

    # 构造一个新的文档对象
    doc = word.Documents.Add()  # 插入文档

    # 从头部插入5行文本
    rng = doc.Range(0, 0)  # 操作位置,从00开始
    rng.InsertAfter("锄禾日当午\n")
    rng.InsertAfter("汗滴禾下午\n")
    rng.InsertAfter("一本小破书\n")
    rng.InsertAfter("一看一下午\n")
    rng.InsertAfter("  ——悯码农")

    # 写入指定路径的文件中
    filename = "C:\\Users\\idea\\Desktop\\" + "悯码农" + ".doc"
    doc.SaveAs(filename)  # 保存
    doc.Close(True)  # Flase强行关闭,True等待缓冲区写入完毕

    # 退出Word
    word.Application.Quit()  # 退出系统接口


def writeDocOfficial():
    # 创建对象
    document = docx.Document()

    # 增加标题
    document.add_heading('劳资是标题', 0)
    # 增加段落
    p = document.add_paragraph('A plain paragraph having some ')

    # 向段落中增加粗体和斜体
    p.add_run('bold').bold = True
    p.add_run(' and some ')
    p.add_run('italic.').italic = True

    # 一级标题
    document.add_heading('Heading, level 1', level=1)

    # 三种不同风格的段落样式s
    document.add_paragraph('Intense quote', style='IntenseQuote')
    document.add_paragraph('first item in unordered list', style='ListBullet')
    document.add_paragraph('first item in ordered list', style='ListNumber')

    # 添加图片
    document.add_picture('meinvb.jpg', width=Inches(1.25))

    table = document.add_table(rows=1, cols=3)
    hdr_cells = table.rows[0].cells
    hdr_cells[0].text = 'Qty'
    hdr_cells[1].text = 'Id'
    hdr_cells[2].text = 'Desc'

    recordset = {"hello", "world", "python"}
    for item in recordset:
        row_cells = table.add_row().cells
        row_cells[0].text = "yes-" + item
        row_cells[1].text = "shit-" + item
        row_cells[2].text = "damn-" + item

    # 增加一个分页符
    document.add_page_break()

    # 保存文档
    document.save('demo.docx')


def readWordDoc():
    # doc = docx.Document("C:\\Users\\idea\\Desktop\\1.docx")
    doc = docx.Document("demo.docx")
    fullText = []
    for para in doc.paragraphs:
        fullText.append(para.text)
    print("\n".join(fullText))


if __name__ == '__main__':
    writeWordDoc()
    # writeDocOfficial()
    readWordDoc()
    pass

results matching ""

    No results matching ""