• 吴裕雄--天生自然python学习笔记:python处理word文档


    Office 文件是我们日常工作生活中都经常用到的文件格
    式,其中以 Word 格式的文件最为常用 。
    Python 可通过 Win32com 纽件对 Micro so位 Office 文件
    进行存取,并且 Python 己内直了 Win32com 纽件,不需要
    另外安装。 使用 Win32com 纽件处理 Microsoft Office 文件,
    计算机必须己安装 Microso企 Office 。
    实现新建文件并保存
    下面我们导入 Win32com 组件
    的 client 模块:

    处理 Word 文件需先建立 Word 应用 。 语法为 :

     

    新建文件
    Win32com 组件新建文件通过 Documents 的 Add 方法来实现,语法为:

    例如,新建文件的变量名称为 doc:

    文件内容的位置可通过文件变量的 Range 方法设置,语法为:

    起始位置及结束位置为整数,表示字符的数目 。 例如,把文件前 10 个字符保存
    至 rangel 变量 :

    向 Word 文件中插入文本可通过两种方法来实现。一种方法是 InsertA丘巳r ,此方
    法把文字插入到范围变量结束位置之后,插入后位置变量的结束位置的值为改变,
    语法为:

    另一种方法是 InsertBefore ,此方法是将文字插入到范围变量起始位置的前面,
    语法为 :

    使用 ln sertBefore 方法插入文本后不会改变范围变量的位置起始值,再次使用
    InsertBefore 方法时,还是会把文字插入到变量的最初起始位置值之前。
    保存文件
    由于 Win32com 组件存取文件时不
    能使用相对路径,所以必须先取得 Python 程序文件所在路径,语法为 :

    保存 Word 文件的语法为 :

    例如,把文件保存在 media 文件夹中,文件名为 testl.docx : 

    处理完 Word 文件,通常会在程序最后关闭 Word 文件及应用,以免占用系统资
    源,语法为:

    用 Win32com 组件建立 Word 文件,插入内容后存盘 。
    import os
    from win32com import client
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 1
    word.DisplayAlerts = 0
    doc = word.Documents.Add()
    range1 = doc.Range(0,0)  #文件起始处
    range1.InsertAfter("这是测试第一行
    这是测试第二行
    ")
    range1.InsertAfter("这是测试第三行
    这是测试第四行
    ")
    range1.InsertBefore("第一次插入到文件最前方
    ")
    range1.InsertBefore("再次插入到文件最前方
    ")
    # cpath = os.path.dirname(__file__)
    doc.SaveAs("E:\media\test1.docx")
    doc.Close()
    word.Quit()

     

  • 相关阅读:
    解决Odoo出现的Unable to send email, please configure the sender's email address or alias.
    Odoo误删除服务产品造成的错误解决办法
    Linux面试题汇总答案
    win7下安装openpyxl
    在Win7下使用sphinx-build建立开源软件文档
    如何把一个excel工作薄中N个工作表复制到另一个工作薄中
    如何手动添加Windows服务和如何把一个服务删除
    创建用户角色时出现的500错误问题解决方法
    odoo注销后在登录时的用户名和密码
    XenServer6.2详细安装步骤
  • 原文地址:https://www.cnblogs.com/tszr/p/12029612.html
Copyright © 2020-2023  润新知