網站首頁 編程語言 正文
在網上搜索的時候,經常看到兩種打開方式: 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")
兩種方式的差別參見:
https://stackoverflow.com/questions/50127959/win32-dispatch-vs-win32-gencache-in-python-what-are-the-pros-and-cons
#創建
#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()
原文鏈接:https://www.cnblogs.com/robin2022/p/16317499.html
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2023-01-31 Python函數用法和底層原理分析_python
- 2022-05-09 .NET中常見的加解密算法詳解_實用技巧
- 2022-01-21 win10 如何做到 C盤 的絕對干凈,所有軟件都安裝到D盤,C盤只用來存操作系統。
- 2022-06-12 C語言詳解熱門考點結構體內存對齊_C 語言
- 2022-04-01 關于python中if __name=‘__main__‘的理解
- 2022-05-24 python使用torch隨機初始化參數_python
- 2022-07-11 UVM中設置打印信息的冗余度閾值和重載打印信息的嚴重性
- 2022-07-22 python:實現abbreviation縮寫算法(附完整源碼)
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支