日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python中win32com模塊的使用_python

作者:一ye殘雪 ? 更新時間: 2023-03-23 編程語言

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

欄目分類
最近更新