網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
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;
#打開新的文件
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開始
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__":
? ? ''' ? ?啟動(dòng)Excel程序并打開文件 ? '''
? ? app = win32.DispatchEx('Excel.Application') # 啟動(dòng)獨(dú)立的進(jìn)程,關(guān)閉時(shí)不影響其他文件
? ? app.Visible = False ? # 不打開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寫入數(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;
#打開新的文件
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()
原文鏈接:https://blog.csdn.net/u011079613/article/details/118861205
相關(guān)推薦
- 2021-11-30 Linux?Autofs自動(dòng)掛載服務(wù)安裝部署教程_Linux
- 2022-06-01 docker安裝nginx并配置ssl的方法步驟_docker
- 2022-05-18 Python繪制散點(diǎn)圖的教程詳解_python
- 2022-09-05 Verilog 之并行,數(shù)據(jù)類型,操作符號(hào)等相關(guān)基礎(chǔ)歸納
- 2022-10-21 C++?smart?pointer全面深入講解_C 語(yǔ)言
- 2022-04-25 Oracle導(dǎo)出導(dǎo)入表結(jié)構(gòu)操作實(shí)戰(zhàn)記錄_oracle
- 2022-06-20 C語(yǔ)言中數(shù)據(jù)是如何存儲(chǔ)在內(nèi)存中的_C 語(yǔ)言
- 2023-02-06 詳解C#如何加密解密RAR文件_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支