Python中win32com模块的使用
作者:一ye残雪 时间:2021-01-22 11:46:52
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()
来源:https://blog.csdn.net/u011079613/article/details/118861205
标签:Python,win32com
0
投稿
猜你喜欢
Python中np.percentile和df.quantile分位数详解
2021-11-25 17:26:00
python神经网络学习使用Keras进行回归运算
2023-01-30 14:08:45
九步学会Python装饰器
2021-04-05 15:35:07
XPath 1.0 学习笔记
2009-02-25 12:19:00
ubuntu16.04制作vim和python3的开发环境
2022-08-11 00:11:07
栅格:灵活应变
2008-07-22 12:22:00
给textarea增加长度限制的几种方法
2009-06-04 12:27:00
python pandas处理excel表格数据的常用方法总结
2023-06-02 19:49:47
利用xslt对xml进行缩进格式化处理
2008-09-04 10:34:00
python3中替换python2中cmp函数的实现
2021-08-15 01:42:41
python 切片和range()用法说明
2021-12-12 07:40:52
python pyinstaller 加载ui路径方法
2023-06-12 23:27:20
Python中defaultdict与lambda表达式用法实例小结
2022-04-01 18:47:42
如何优化JavaScript脚本的性能
2008-02-19 21:47:00
python通过对字典的排序,对json字段进行排序的实例
2023-06-15 02:20:40
解决Windows10不能安装Oracle 11g的问题(附详细安装教程)
2023-07-23 08:22:08
Python range与enumerate函数区别解析
2022-03-05 21:40:20
Python使用Keras OCR实现从图像中删除文本
2022-07-22 20:50:24
asp如何对文件进行操作?
2009-11-20 18:31:00
学会迭代器设计模式,帮你大幅提升python性能
2023-01-22 12:36:01