Python中win32com模塊的使用
0 前言
安裝:
pip install pypiwin32
1 Excel的API
import win32com.client as win32
#創(chuàng)建
xlApp = win32.Dispatch("Excel.Application")
xlApp = win32.DispatchEx("Excel.Application")#使用啟動(dòng)獨(dú)立的進(jìn)程
#后臺(tái)運(yùn)行, 不顯示, 不警告
xlApp .Visible = 0;
xlApp DisplayAlerts = 0;
#打開(kāi)新的文件
xlBook = xlApp.Workbooks.Open(FileName)
#創(chuàng)建新的工作簿
new_xlBook = xlApp.Workbooks.Add()
#獲取
xlSheet = xlBook.Worksheets('Sheet1')
a = xlSheet .Cell(11, 5).Value ?# (row, col) 都是從1開(kāi)始
xlSheet .Cells(11, 5).Value = 2 ?# (row, col) 都是從1開(kāi)始
#范圍操作
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__":
? ? ''' ? ?啟動(dòng)Excel程序并打開(kāi)文件 ? '''
? ? app = win32.DispatchEx('Excel.Application') # 啟動(dòng)獨(dú)立的進(jìn)程,關(guān)閉時(shí)不影響其他文件
? ? app.Visible = False ? # 不打開(kāi)excel界面
? ? app.DisplayAlerts = False ? # 不顯示警告信息
? ? wb = app.Workbooks.Open(r'D:\6_SoftwareTest\xml\empty_book.xlsx')
? ? # wb = app.Workbooks.Add() ?#創(chuàng)建新文件
? ? ''' ? ?處理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,移動(dòng)(3-1,2-1)
? ? ws.Range('D10').value = 15 ?# 這里指對(duì)D10寫(xiě)入數(shù)據(jù) 15
? ? ws1 = wb.Worksheets
? ? ws1.Copy(None, ws)
? ? ''' ? ?保存并關(guān)閉Excel文件,退出程序 ? '''
? ? wb.Save()
? ? # wb.SaveAs(path)
? ? wb.Close()
? ? app.Quit()2 Word的API
import win32com.client as win32
#創(chuàng)建
wdApp = win32.Dispatch("Word.Application") ? ?
wdApp = win32.DispatchEx("Word.Application")#使用啟動(dòng)獨(dú)立的進(jìn)程
#后臺(tái)運(yùn)行, 不顯示, 不警告
wdApp.Visible = 0;
wdApp.DisplayAlerts = 0;
#打開(kāi)新的文件
doc = wdApp.Documents.Open(FileName)
#創(chuàng)建新的文檔
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() #增加一行
#轉(zhuǎn)換為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()
#關(guān)閉
doc.Close()
wdApp.Quit()到此這篇關(guān)于Python中win32com模塊的使用的文章就介紹到這了,更多相關(guān)Python win32com模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python虛擬環(huán)境創(chuàng)建和使用方法(使用自帶的venv模塊)
這篇文章主要如何在Python中使用虛擬環(huán)境,包括創(chuàng)建、激活、使用、生成requirements.txt文件、卸載包和刪除虛擬環(huán)境,虛擬環(huán)境有助于隔離項(xiàng)目依賴,避免版本沖突,并便于部署,需要的朋友可以參考下2024-12-12
一起解密Python中的*args和**kwargs無(wú)限可能的函數(shù)參數(shù)
這篇文章主要來(lái)跟大家一起解密Python中的*args和**kwargs無(wú)限可能的函數(shù)參數(shù)使用的靈活性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
淺談python中拼接路徑os.path.join斜杠的問(wèn)題
今天小編就為大家分享一篇淺談python中拼接路徑os.path.join斜杠的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
關(guān)于django python manage.py startapp 應(yīng)用名出錯(cuò)異常原因解析
這篇文章主要介紹了關(guān)于django python manage.py startapp 應(yīng)用名出錯(cuò)異常原因解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Python實(shí)戰(zhàn)之設(shè)計(jì)一個(gè)多功能辦公小工具
這篇文章主要介紹了通過(guò)Python制作一個(gè)多功能的辦公小工具,可以實(shí)現(xiàn)應(yīng)用、網(wǎng)頁(yè)直達(dá)以及天氣查詢,代碼具有一定學(xué)習(xí)價(jià)值,需要的小伙伴可以了解一下2021-12-12
python fuzzywuzzy模塊模糊字符串匹配詳細(xì)用法
這篇文章主要介紹了使用Python完成公司名稱和地址的模糊匹配的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
詳解用python自制微信機(jī)器人,定時(shí)發(fā)送天氣預(yù)報(bào)
這篇文章主要介紹了用python自制微信機(jī)器人,定時(shí)發(fā)送天氣預(yù)報(bào),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
解決使用PyCharm時(shí)無(wú)法啟動(dòng)控制臺(tái)的問(wèn)題
今天小編就為大家分享一篇解決使用PyCharm時(shí)無(wú)法啟動(dòng)控制臺(tái)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01

