zoukankan      html  css  js  c++  java
  • Python 操作Word(Excel、PPT等通用)

    import win32com
    from win32com.client import Dispatch, constants

    w = win32com.client.Dispatch('Word.Application')
    # 或者使用下面的方法,使用启动独立的进程:
    # w = win32com.client.DispatchEx('Word.Application')

    # 后台运行,不显示,不警告
    w.Visible = 0
    w.DisplayAlerts = 0

    # 打开新的文件
    doc = w.Documents.Open( FileName = filenamein )
    # worddoc = w.Documents.Add() # 创建新的文档

    # 插入文字
    myRange = doc.Range(0,0)
    myRange.InsertBefore('Hello from Python!')

    # 使用样式
    wordSel = myRange.Select()
    wordSel.Style = constants.wdStyleHeading1

    # 正文文字替换
    w.Selection.Find.ClearFormatting()
    w.Selection.Find.Replacement.ClearFormatting()
    w.Selection.Find.Execute(OldStr, False, False, False, False, False, True, 1, True, NewStr, 2)

    # 页眉文字替换
    w.ActiveDocument.Sections[0].Headers[0].Range.Find.ClearFormatting()
    w.ActiveDocument.Sections[0].Headers[0].Range.Find.Replacement.ClearFormatting()
    w.ActiveDocument.Sections[0].Headers[0].Range.Find.Execute(OldStr, False, False, False, False, False, True, 1, False, NewStr, 2)

    # 表格操作
    doc.Tables[0].Rows[0].Cells[0].Range.Text ='123123'
    worddoc.Tables[0].Rows.Add() # 增加一行

    # 转换为html
    wc = win32com.client.constants
    w.ActiveDocument.WebOptions.RelyOnCSS = 1
    w.ActiveDocument.WebOptions.OptimizeForBrowser = 1
    w.ActiveDocument.WebOptions.BrowserLevel = 0 # constants.wdBrowserLevelV4
    w.ActiveDocument.WebOptions.OrganizeInFolder = 0
    w.ActiveDocument.WebOptions.UseLongFileNames = 1
    w.ActiveDocument.WebOptions.RelyOnVML = 0
    w.ActiveDocument.WebOptions.AllowPNG = 1
    w.ActiveDocument.SaveAs( FileName = filenameout, FileFormat = wc.wdFormatHTML )

    # 打印
    doc.PrintOut()

    # 关闭
    # doc.Close()
    w.Documents.Close(wc.wdDoNotSaveChanges)
    w.Quit()

    作者:wenhai_zhang 发表于2009-12-14 21:11:00 原文链接
    阅读:352 评论:0 查看评论
  • 相关阅读:
    记RestTemplate远程请求接口数据的一些注意事项
    记使用SpringDataMongonDb时,dao方法命名的一个已解决但不知道为什么的bug
    charles 打断点后传参或返回数据更改
    在liunx上搭建git仓库1
    jsonpath 提取参数
    pytest 参数化的使用1
    pytest中断言失败后,也可以继续执行其他用例
    charles开启弱网功能
    httprunner 参数化
    httprunner中debugtalk使用
  • 原文地址:https://www.cnblogs.com/wenhaizhang/p/2099160.html
Copyright © 2011-2022 走看看