Python使用win32com.client的方法示例
robin2022 人气:0在网上搜索的时候,经常看到两种打开方式: dispatch和EnsureDispatch
import win32com.client as win32 xl_dis = win32.Dispatch("Excel.Application")
import win32com.client as win32 xl_ens = win32.gencache.EnsureDispatch("Excel.Application")
两种方式的差别参见:
#创建 #word w = win32com.client.Dispatch("Word.Application") w = win32com.client.DispatchEx("Word.Application")#使用启动独立的进程 #excel xlApp = win32com.client.Dispatch("Excel.Application") #后台运行, 不显示, 不警告 w.Visible = 0; w.DisplayAlerts = 0; #打开新的文件 #word doc = w.Documents.Open(FileName) #new_doc = w.Documents.Add() #创建新的文档 #excel xlBook = xlApp.Workbooks.Open(FileName) #new_xlBook = xlApp.Workbooks.Add() #创建新的工作簿 #插入文字 #word myRange = doc.Range(0, 0) myRange.InsertBefore("hello from Python") #excel #使用样式 wordStyle = myRange.Select() wordStyle.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) #表格操作 #word doc.Tables[0].Rows[0].Cells[0].Range.Text = "hello world Python" worddoc.Tables[0].Rows.Add() #增加一行 #excel #获取 _sheet = xlBook.Worksheets(sheet) _sheet.Cell(row, col).Value #设置 _sheet = xlBook.Worksheets(sheet) _sheet.Cells(row, col).Value = values #范围操作 _sheet = xlBook.Worksheets(sheet) _sheet.Range(_sheet.Cell(row1, col1), _sheet.Cell(row2, col2)).Value #添加图片 #excel _sheet = xlBook.Worksheets(sheet) _sheet.Shapes.AddPicture(picturename, 1, 1, Left, Top, Width, Height) #copy 工作簿 sheets = xlBook.Worksheets sheets(1).Copy(None, sheets(1)) #转换为html #word 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, FileFormat = wc.wdFormatHTML) #打印 doc.PrintOut() #保存 #excel xlBook.SaveAs(FileName)#另存为 xlBook.Save() #关闭 #word #doc.Close() w.Documents.Close(wc.wdDoNotSaveChanges) w.Quit() #excel xlBook.Close(SaveChange = 0) xlBook.Quit()
加载全部内容