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和scikit-learn創(chuàng)建混淆矩陣的示例詳解
這篇文章主要介紹了使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解,該示例包括生成數(shù)據(jù)集、為數(shù)據(jù)集選擇合適的機(jī)器學(xué)習(xí)模型、構(gòu)建、配置和訓(xùn)練它,最后解釋結(jié)果,即混淆矩陣,需要的朋友可以參考下2022-06-06python自動(dòng)化測(cè)試三部曲之request+django實(shí)現(xiàn)接口測(cè)試
這篇文章主要介紹了python自動(dòng)化測(cè)試三部曲之request+django實(shí)現(xiàn)接口測(cè)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python中ModuleNotFoundError錯(cuò)誤的問(wèn)題解決
本文主要介紹了Python中ModuleNotFoundError錯(cuò)誤的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5打印控件QPrinter詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5打印控件QPrinter詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02與Django結(jié)合利用模型對(duì)上傳圖片預(yù)測(cè)的實(shí)例詳解
今天小編就為大家分享一篇與Django結(jié)合利用模型對(duì)上傳圖片預(yù)測(cè)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python繪圖示例程序中的幾個(gè)語(yǔ)法糖果你知道嗎
這篇文章主要為大家詳細(xì)介紹了Python繪圖示例程序中的幾個(gè)語(yǔ)法糖果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02