Python模块:win32com用法详解
使用技巧
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()
(3)处理excel
[1]使用PyExcelerator读写EXCEL文件(Platform: Win,Unix-like)
优点:简单易用 缺点:不可改变已存在的EXCEL文件。
PyExcelerator是一个开源的MS Excel文件处理python包。它主要是用来写 Excel 文件.URL: http://sourceforge.NET/projects/pyexcelerator/
我没有找到关于PyExcelerator的文档。只是看到了limodou的一篇介绍。
http://blog.donews.com/limodou/archive/2005/07/09/460033.aspx
这个包使用起来还是比较简单的:)。带了很多小例子,可以参照。
例mini.py.
=================================
#!/usr/bin/env python
# -*- coding: windows-1251 -*-
# Copyright (C) 2005 Kiseliov Roman
__rev_id__ = """$Id: mini.py,v 1.3 2005/03/27 12:47:06 rvk Exp $"""
"导入模块
from pyExcelerator import *
"生成一个工作薄
w = Workbook()
"加入一个Sheet
ws = w.add_sheet('Hey, Dude')
"保存
w.save('mini.xls')
=================================
[2]使用COM接口,直接操作EXCEL(只能在Win上)
优点:可以满足绝大数要求。缺点:有些麻烦。:-)
这方面的例子很多,GOOGLE 看吧:-). 文档也可以参看OFFICE自带的VBA EXCEL 帮助文件(VBAXL.CHM)。这里面讲述了EXCEL VBA的编程概念,
不错的教程!另外,《Python Programming on Win32》书中也有很详细的介绍。这本书中给出了一个类来操作EXCEL 文件,可以很容易的加以扩展。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
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."""
def __init__(self, filename=None):
self.xlApp = win32com.client.Dispatch('Excel.Application')
if filename:
self.filename = filename
self.xlBook = self.xlApp.Workbooks.Open(filename)
else:
self.xlBook = self.xlApp.Workbooks.Add()
self.filename = ''
def save(self, newfilename=None):
if newfilename:
self.filename = newfilename
self.xlBook.SaveAs(newfilename)
else:
self.xlBook.Save()
def close(self):
self.xlBook.Close(SaveChanges=0)
del self.xlApp
def getCell(self, sheet, row, col):
"Get value of one cell"
sht = self.xlBook.Worksheets(sheet)
return sht.Cells(row, col).Value
def setCell(self, sheet, row, col, value):
"set value of one cell"
sht = self.xlBook.Worksheets(sheet)
sht.Cells(row, col).Value = value
def getRange(self, sheet, row1, col1, row2, col2):
"return a 2d array (i.e. tuple of tuples)"
sht = self.xlBook.Worksheets(sheet)
return sht.Range(sht.Cells(row1, col1), sht.Cells(row2, col2)).Value
def addPicture(self, sheet, pictureName, Left, Top, Width, Height):
"Insert a picture in sheet"
sht = self.xlBook.Worksheets(sheet)
sht.Shapes.AddPicture(pictureName, 1, 1, Left, Top, Width, Height)
def cpSheet(self, before):
"copy sheet"
shts = self.xlBook.Worksheets
shts(1).Copy(None,shts(1))
"下面是一些测试代码。
if __name__ == "__main__":
PNFILE = r'c:\screenshot.bmp'
xls = easyExcel(r'D:\test.xls')
xls.addPicture('Sheet1', PNFILE, 20,20,1000,1000)
xls.cpSheet('Sheet1')
xls.save()
xls.close()
Python模块:win32com用法详解相关推荐
- python win32模块详解_python模块:win32com用法详解
使用技巧 import win32com from win32com.client import Dispatch, constants w = win32com.client.Dispatch('W ...
- win32com python_python模块:win32com用法详解
使用技巧 import win32com from win32com.client import Dispatch, constants w = win32com.client.Dispatch('W ...
- Python中self用法详解
Python中self用法详解 https://blog.csdn.net/CLHugh/article/details/75000104 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 V ...
- Python模块之pexpect详解
Python模块之pexpect详解(一) 一.pexpect模块介绍 二.Pexpect的安装 三.pexpect的核心组件 3.1 spawn类 3.1.1 简介 3.1.2 使用流程 3.1.3 ...
- python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解
本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...
- python的继承用法_python中继承有什么用法?python继承的用法详解
本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...
- 【 Python 中 int 用法详解】(转载)
Python 中 int 用法详解 欢迎转载,转载请注明出处! 文章目录 Python 中 int 用法详解 0. 参考资料 1. int 的无参数调用 2. int 接收数字作为参数 3. int ...
- Python 中 int 用法详解
Python 中 int 用法详解 欢迎转载,转载请注明出处! 文章目录 Python 中 int 用法详解 0. 参考资料 1. int 的无参数调用 2. int 接收数字作为参数 3. int ...
- 信息学奥赛 python 教程_Python在信息学竞赛中的运用及Python的基本用法(详解)
前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在<算法竞赛入门经典-训练指南>中所说的一样,如果会用 ...
- 什么是多态,Python多态及用法详解
什么是多态,Python多态及用法详解 在面向对象程序设计中,除了封装和继承特性外,多态也是一个非常重要的特性,本节就带领大家详细了解什么是多态. 我们都知道,Python 是弱类型语言,其最明显的特 ...
最新文章
- 【381天】我爱刷题系列140(2018.02.21)
- 下一代防火墙市场高速增长,年复合增长率为13.6%
- 视屏接口系列(一 ) ----------VGA(对与数信号显示器要加载A/D,延时拖尾、质量下降)...
- FOSCommentBundle功能包:基于ACL安全添加角色
- 使用@JsonIdentityInfo的Spring自定义序列化器
- HDU 3662 3D Convex Hull(三维凸包面的个数)
- HDU 1411--校庆神秘建筑(欧拉四面体体积计算)
- node.js中实现同步操作的3种实现方法
- 计算机云计算中心建设项目,某大学计算机云计算云数据中心建设方案.docx
- 离散数学期末复习概念_复习第1部分中的基本概念
- 局域网arp攻击_图解ARP协议(二)ARP攻击原理与实践
- 优秀课程案例:使用Scratch制作坦克大战经典版!
- 装双系统win10和android,厉害了小米6!不仅骁龙835,还支持安卓和win10双系统
- java 柱状图 宽度_Java 创建Excel图表
- 原来清理手机内存,使用管家是不够的!还需删除这4个文件夹
- android 支付宝第三方应用授权,支付宝开发平台—第三方应用授权
- 计算机PS属性怎么改,电脑不用ps怎么改图片分辨率 教你修改图片分辨率的方法...
- tf.nn.dropout() 警报信息处理
- 自定义listview和ProgressBar的简单使用
- Java实现QQ邮箱验证
热门文章
- 基于Python的汉语分词系统
- 当深度学习遇上量化交易——模型篇
- JavaScript启示录
- vsftp配置问题启示录
- 小米随身wifi驱动linux驱动下载,小米随身无线wifi电脑驱动下载|小米随身wifi驱动 v2.5 官方版 - 软件下载 - 绿茶软件园|33LC.com...
- html怎么防止扒站点,扒站工具-扒取站点js css的工具
- Ubuntu下如何查看GPU版本和使用信息
- axure 教务系统_AxureRP免费(教育)授权密钥申请攻略
- python源码深度剖析_Python源码剖析-深度探索动态语言核心技术 PDF 下载
- 【kaggle注册页面没有显示验证码】