Python中win32com模块的使用

目录
  • 0 前言
  • 1 Excel的API
    • 1.1 Excel示例
  • 2 Word的API

0 前言

安装:

pip install pypiwin32

1 Excel的API

import win32com.client as win32
#创建
xlApp = win32.Dispatch("Excel.Application")
xlApp = win32.DispatchEx("Excel.Application")#使用启动独立的进程
#后台运行, 不显示, 不警告
xlApp .Visible = 0;
xlApp DisplayAlerts = 0;

#打开新的文件
xlBook = xlApp.Workbooks.Open(FileName)
#创建新的工作簿
new_xlBook = xlApp.Workbooks.Add()

#获取
xlSheet = xlBook.Worksheets('Sheet1')
a = xlSheet .Cell(11, 5).Value  # (row, col) 都是从1开始
xlSheet .Cells(11, 5).Value = 2  # (row, col) 都是从1开始

#范围操作
xlSheet.Range(xlSheet.Cell(11, 5), xlSheet.Cell(13, 6)).Value

#添加图片
xlSheet.Shapes.AddPicture(picturename, 1, 1, Left, Top, Width, Height)

#copy 工作簿
xlSheet2.Copy(None, xlSheet)

#保存
xlBook.SaveAs(FileName)#另存为
xlBook.Save()

#退出
xlBook.Close()
xlBook.Quit()

1.1 Excel示例

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

import win32com.client as win32

if __name__ == "__main__":
    '''    启动Excel程序并打开文件   '''
    app = win32.DispatchEx('Excel.Application') # 启动独立的进程,关闭时不影响其他文件
    app.Visible = False   # 不打开excel界面
    app.DisplayAlerts = False   # 不显示警告信息
    wb = app.Workbooks.Open(r'D:\6_SoftwareTest\xml\empty_book.xlsx')
    # wb = app.Workbooks.Add()  #创建新文件

    '''    处理worksheet   '''
    ws = wb.Worksheets('Sheet1')
    ws.Cells(11, 5).Value = 2  # Cells(row,col) 先行后列 Cells(11,5)就指的是 E11单元格
    ws.Cells(11, 5).offset(3, 2).Value = 1  # E11 偏移后 到了 F13,移动(3-1,2-1)
    ws.Range('D10').value = 15  # 这里指对D10写入数据 15

    ws1 = wb.Worksheets
    ws1.Copy(None, ws)
    '''    保存并关闭Excel文件,退出程序   '''
    wb.Save()
    # wb.SaveAs(path)
    wb.Close()
    app.Quit()

2 Word的API

import win32com.client as win32

#创建
wdApp = win32.Dispatch("Word.Application")    
wdApp = win32.DispatchEx("Word.Application")#使用启动独立的进程

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

#打开新的文件
doc = wdApp.Documents.Open(FileName)
#创建新的文档
new_doc = wdApp.Documents.Add()

#插入文字
myRange = doc.Range(0, 0)
myRange.InsertBefore("hello from Python")

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

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

#表格操作
doc.Tables[0].Rows[0].Cells[0].Range.Text = "hello world Python"
doc.Tables[0].Rows.Add() #增加一行

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

#打印
doc.PrintOut()

#保存
doc.SaveAs(FileName)#另存为
doc.Save()

#关闭
doc.Close()
wdApp.Quit()

到此这篇关于Python中win32com模块的使用的文章就介绍到这了,更多相关Python win32com模块内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决python中导入win32com.client出错的问题

    准备写一个操作Excel脚本却在导入包的时候出现了一个小问题 导入包 from Tkinter import Tk from time import sleep, ctime from tkMessageBox import showwarning from urllib import urlopen import win32com.client as win32 报错提示 Traceback (most recent call last): File "estock.pyw", li

  • python使用win32com库播放mp3文件的方法

    本文实例讲述了python使用win32com库播放mp3文件的方法.分享给大家供大家参考.具体实现方法如下: # Python supports COM, if you have the Win32 extensions # check your Python folder eg. D:\Python23\Lib\site-packages\win32com # also http://starship.python.net/crew/mhammond/win32/Downloads.html

  • Python操作word常见方法示例【win32com与docx模块】

    本文实例讲述了Python操作word常见方法.分享给大家供大家参考,具体如下: 这里介绍两种方式: 使用win32com 使用docx 1. 使用win32com扩展包 只对windows平台有效 代码: # coding=utf-8 import win32com from win32com.client import Dispatch, DispatchEx word = Dispatch('Word.Application') # 打开word应用程序 # word = Dispatch

  • Python使用win32com实现的模拟浏览器功能示例

    本文实例讲述了Python使用win32com实现的模拟浏览器功能.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- #!/user/bin/env python ''' Created on 2010-9-1 @author: chenzehe ''' import win32com.client from time import sleep loginurl='http://passport.cnblogs.com/login.aspx' loginouturl

  • Python如何操作office实现自动化及win32com.client的运用

    应用背景 工作中,由于需要出定期的report,需要用到office,主要是要用到excel表格,然后给各个team或者boss发email report.这里边就包含了不少重复性的工作,工作中常常有一个固定的模板来出report,而每次只需将相关的数据手动导入,如果将这些重复性的动作,实现自动化,无疑可以省去不少功夫.于是我就想到了用python来实现自动化生成表格.今天介绍的只是一部分,主要是excel表格自动修改生成. 似乎是一个很简单的活,调用常用的与excel相关的python模块xl

  • Python win32com 操作Exce的l简单方法(必看)

    实例如下: from win32com.client import Dispatch import win32com.client class easyExcel: """A utility to make it easier to get at Excel. Remembering to save the data is your problem, as is error handling. Operates on one workbook at a time."

  • Python中win32com模块的使用

    目录 0 前言 1 Excel的API 1.1 Excel示例 2 Word的API 0 前言 安装: pip install pypiwin32 1 Excel的API import win32com.client as win32 #创建 xlApp = win32.Dispatch("Excel.Application") xlApp = win32.DispatchEx("Excel.Application")#使用启动独立的进程 #后台运行, 不显示, 不

  • Python使用win32com模块实现数据库表结构自动生成word表格的方法

    本文实例讲述了Python使用win32com模块实现数据库表结构自动生成word表格的方法.分享给大家供大家参考,具体如下: 下载win32模块 下载链接:https://sourceforge.net/projects/pywin32/files/pywin32/ 连接mysql import MySQLdb db_host = "" db_port = 3306 db_name = "" db_user = "" db_pwd = &quo

  • python中pygame模块用法实例

    本文实例讲述了python中pygame模块用法,分享给大家供大家参考.具体方法如下: import pygame, sys from pygame.locals import * #set up pygame pygame.init() windowSurface = pygame.display.set_mode((500, 400), 0, 32) pygame.display.set_caption("hello, world") BLACK = (0, 0, 0) WHITE

  • python中string模块各属性以及函数的用法介绍

    任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: • python的字符串属性函数 • python的string模块 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.字符串属性函数  系统版本:CentOS release 6.2 (Final)2.6.32-220.

  • Python中itertools模块用法详解

    本文实例讲述了Python中itertools模块用法,分享给大家供大家参考.具体分析如下: 一般来说,itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(如生成器和生成器表达式)的函数联合使用. chain(iter1, iter2, ..., iterN): 给出一组迭代器(iter1, iter2, ..., iterN),此函数创建一个新迭代器来将所有的迭代器链接起来,返回的迭代器从it

  • Python中optionParser模块的使用方法实例教程

    本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的.符合Unix/Posix 规范的命令行说明. 示例如下: from optparse impo

  • python中urllib模块用法实例详解

    本文实例讲述了python中urllib模块用法.分享给大家供大家参考.具体分析如下: 一.问题: 近期公司项目的需求是根据客户提供的api,我们定时去获取数据, 之前的方案是用php收集任务存入到redis队列,然后在linux下做一个常驻进程跑某一个php文件, 该php文件就一个无限循环,判断redis队列,有就执行,没有就break. 二.解决方法: 最近刚好学了一下python, python的urllib模块或许比php的curl更快,而且简单. 贴一下代码 复制代码 代码如下: #

  • python中hashlib模块用法示例

    我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法 具体应用 #!/usr/bin/env python # -*- coding: UTF-8 -*- #pyversion:python3.5 #owner:fuzj import h

  • Python中subprocess模块用法实例详解

    本文实例讲述了Python中subprocess模块用法.分享给大家供大家参考.具体如下: 执行命令: >>> subprocess.call(["ls", "-l"]) 0 >>> subprocess.call("exit 1", shell=True) 1 测试调用系统中cmd命令,显示命令执行的结果: x=subprocess.check_output(["echo", "

  • Python中random模块用法实例分析

    本文实例讲述了Python中random模块用法.分享给大家供大家参考.具体如下: import random x = random.randint(1,4); y = random.choice(['appale','banana','cherry','durian']); print(x,y); 运行结果如下: (2, 'cherry') 不管学哪个语言,我总喜欢弄个随机数玩玩.农历十一月初六,Let's Python!!! l=[ ] while True: name=input("请输入

随机推荐