網站首頁 編程語言 正文
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
相關推薦
- 2022-11-09 WPF使用WrapPanel實現虛擬化效果_C#教程
- 2022-11-03 如何在C++類的外部調用類的私有方法_C 語言
- 2021-12-12 簡單介紹三層架構工作原理_C#教程
- 2024-07-15 Redis底層數據結構-鏈表
- 2022-04-21 Docker - Error: Error response from daemon: No com
- 2022-03-28 C語言基于EasyX庫實現有顏色彈跳小球_C 語言
- 2022-08-13 Redis 性能影響 - 異步機制和響應延遲
- 2022-04-09 Python實現簡易的限流器介紹_python
- 最近更新
-
- 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同步修改后的遠程分支