久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python 操作WPS開(kāi)發(fā)API

 yuxinrong 2023-03-27 發(fā)布于安徽

WPS 重要API(表格部分)

開(kāi)始

簡(jiǎn)介

本文中所有的測(cè)試都是在Python 3.8.5的環(huán)境中進(jìn)行實(shí)現(xiàn)的,,IDE為Pycharm

引用的庫(kù)主要是Pywin32,通過(guò)該庫(kù)直接調(diào)用WPS提供的開(kāi)發(fā)API,,因此必須在計(jì)算機(jī)上安裝WPS,,遷移時(shí)記得在目標(biāo)主機(jī)上安裝需要的依賴庫(kù)(當(dāng)然也可以直接打包成exe)

由于這種方式直接就是操縱WPS,因此完全可以用一樣的方式去調(diào)用Excel,,但需要根據(jù)Office官方提供的二次開(kāi)發(fā)庫(kù)做一小部分修改(遷移幅度應(yīng)該不大,,因?yàn)檫@其間具有一整套API標(biāo)準(zhǔn))

import win32com.client

# 打開(kāi)wps的表格et

et = win32com.client.Dispatch("Ket.Application") 

# et.Visible = True # 確定ET是否可見(jiàn)

file = r'E:\python\xlings練習(xí)\物資0#臺(tái)賬模板表1.xlsx'

# 打開(kāi)wps表格文件

wb = et.Workbooks.Open(file)

# 新建一個(gè)wps工作簿

# wb = et.Workbooks.Add()

# 打開(kāi)wps表格文件中的第一張表

sht = wb.Worksheets(1)

# 修改單元格的內(nèi)容

sht.Cells(1, 1).Value = '1112'

# 保存文件 另存為命令為workbook.SaveAs()

wb.Save()

# 關(guān)閉文件

wb.Close()

# 退出程序

et.Quit()

————————————————

版權(quán)聲明:本文為CSDN博主「ruoshui101」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明,。

原文鏈接:https://blog.csdn.net/ruoshui101/article/details/109512090


快速測(cè)試

導(dǎo)入庫(kù)

 # 必須引入client,直接引入win32com可能報(bào)錯(cuò)

 import win32com.client

聲明application(加載wps的表格)

 # 實(shí)際上測(cè)試excel時(shí)也可以直接這樣做

 application = win32com.client.Dispatch('Excel.Application')

打開(kāi)WPS文件

 # Path指的是本地表格文件的路徑,,比如:

 # Path = r"c:\Users\Aine\Desktop\a.xlsx"

 # 通過(guò)Win32的方式并不限制xls和xlsx(因?yàn)椴僮魇莣ps在做)

 workbook = application.Workbooks.Open(Path)

讀取表格文件中的表

 # Sheet指的就是表名(注意不是文件名)

 worksheet = workbook.Worksheets(Sheet)

修改單元格的內(nèi)容

 worksheet.Cells(1, 1).Value = 'Hello World'

修改表名稱

 worksheet.Name = 'MySheet'

保存并退出

 # Path是指要將文件保存到哪一個(gè)位置

 worksheet.SaveAs(Path)

操作完成后退出表格文件

 # 注意,,此處退出的是文件,而不是WPS程序

 # 相當(dāng)于在WPS中關(guān)閉了文件

 # 如果操作完表格不關(guān)閉文件,,極有可能會(huì)造成文件無(wú)法打開(kāi)

 workbook.Close()

最后一定要記得退出ET(表格)

 application.Quit()

流程概況

加載Application

通過(guò)Application獲取Workbook

通過(guò)Workbook的Worksheets獲取Worksheet

根據(jù)獲取到的表對(duì)數(shù)據(jù)進(jìn)行操作

保存修改/另存為

關(guān)閉Workbook(文件)

關(guān)閉Application(ET)

重要API

Application

參考 WPS開(kāi)放文檔

Application相當(dāng)于WPS中表格的主程序(也稱為et),,在Python + Pywin32中,,首先要通過(guò)Dispatch加載程序

重要方法

FindFile和GetOpenFilename(打開(kāi)文件對(duì)話框)

參考信息(FindFile)

參考信息(GetOpenFilename)

 # FindFile方法

 # 該方法屬于Application對(duì)象的方法,調(diào)用后會(huì)前臺(tái)顯示W(wǎng)PS界面,,并彈出打開(kāi)文件對(duì)話框,。

 # 注意,該對(duì)話框不會(huì)返回打開(kāi)文件的路徑,,但會(huì)返回是否打開(kāi)成功

 # 當(dāng)選擇了一個(gè)文件,,會(huì)在前臺(tái)打開(kāi)該文件

 Application.FindFile()

 # GetOpenFilename方法

 # 和FindFile方法不同,這個(gè)方法并不會(huì)前臺(tái)打開(kāi)文件,,而是彈出一個(gè)打開(kāi)文件對(duì)話框

 # 該方法返回的值是文件的全路徑

 # 通常有需要的情況下是使用GetOpenFilename方法

 Application.GetOpenFilename()

GetSaveAsFilename(彈出另存為對(duì)話框)

參考信息

 # GetSaveAsFilename方法

 # 該方法和GetOpenFilename類似,,都不會(huì)真正的進(jìn)行另存為操作,而是返回用戶選擇的全路徑

 Application.GetSaveAsFilename()

InputBox(彈出一個(gè)接受用戶輸入的對(duì)話框)

參考信息

 # 該方法會(huì)彈出一個(gè)包含一個(gè)文本框的對(duì)話框,,并返回用戶的輸入

 # 該文本框可以接受多種數(shù)值,,也可以指定其標(biāo)題、初始值,、位置以及返回值類型

 # 具體參數(shù)參考官方文檔 ↑↑↑

 Application.InputBox("請(qǐng)輸入密碼","警告","123456")

Run和Wait

參考消息(Run)

參考消息(Wait)

 # Run方法用于運(yùn)行一個(gè)宏或調(diào)用一個(gè)VB程序

 # 注意,,個(gè)人版一般是不支持宏調(diào)用的

 # Wait方法用于暫停運(yùn)行宏

 Application.Run(要運(yùn)行的宏)

 # Wait會(huì)暫停ET的一切操作,當(dāng)然不會(huì)暫停打印和重新計(jì)算

 # 傳入的值是必須的,,含義是下一次繼續(xù)運(yùn)行的時(shí)間,,比如Wait("12:20:00")

 Application.Wait(繼續(xù)運(yùn)行的時(shí)間)

當(dāng)然也可以暫停運(yùn)行指定的時(shí)間,比如十分鐘(官方例程)

 let now = new Date()

 let seconds = now.getTime()

 now.setTime(seconds + 1000 * 10)

 Application.Wait(now.toLocaleString())

Quit

參考信息

 # Quit幾乎是最需要但最容易忘記的方法,,它負(fù)責(zé)退出ET程序,,注意,該方法要在退出表格文件之后執(zhí)行

 # 另外,,如果有未保存的Workbook,,ET會(huì)彈出對(duì)話框詢問(wèn)用戶是否關(guān)閉,可以通過(guò)將Application中的DisplayAlerts設(shè)置為False(不顯示信息,,會(huì)直接不保存退出)

 Application.Quit()

重要屬性

ActivePrinter(獲取/設(shè)置打印機(jī))

 # String類型

 Application.ActivePrinter

Build(獲取ET內(nèi)部版本號(hào))

 Application.Build

DisplayFullScreen(是否全屏)

 # 指示ET當(dāng)前是否為全屏狀態(tài),,可讀寫(xiě)(True 全屏; FaLse 非全屏)

 Application.DisplayFullScreen

EnableSound(是否允許發(fā)聲)

 # 該屬性指示ET是否可以發(fā)出聲音,,Boolean,,可讀寫(xiě)

 Application.EnableSound 

HighQualityModeForGraphics(高質(zhì)量打印圖形)

 # Boolean

 Application.HighQualityModeForGraphics

Hinstance(獲取ET的句柄)

 # 只讀

 Application.Hinstance

OperatingSystem(獲取操作系統(tǒng)版本)

 # 只讀

 Application.OperatingSystem

Path(獲取WPS所在目錄)

 # 只讀

 Application.Path

PrintCommunication(測(cè)試打印機(jī)可達(dá)性)

 Application.PrintCommunication

Ready(ET是否就緒)

 # 判斷ET是否準(zhǔn)備就緒

 Application.Ready

ScreenUpdating(屏幕更新)

 # 一般設(shè)置為T(mén)rue,如果需要加快宏(包括Py腳本)運(yùn)行,,可以暫時(shí)設(shè)置為False

 Application.ScreenUpdating

StatusBar(設(shè)置狀態(tài)欄文字)

 # 可以獲取和設(shè)置ET下方狀態(tài)欄的文本

 Application.StatusBar

UserControl (判斷窗口是否由用戶打開(kāi))

 # 如果用戶創(chuàng)建或者ET可見(jiàn),,該值為T(mén)rue,如果以代碼方式打開(kāi)切應(yīng)用程序隱藏,,該值為False

 Application.UserControl

UserName (獲取系統(tǒng)用戶名)

 Application.UserName

Version(ET版本號(hào))

 Application.Version

Visible(是否可見(jiàn))

 # 確定ET是否可見(jiàn)(一般不用設(shè)置,,如果設(shè)置可能造成運(yùn)行時(shí)閃一下屏)

 Application.Visible

Workbooks(打開(kāi)的工作表)

 # 最重要的屬性之一,代表所有打開(kāi)的ET文件

 Application.Workbooks

 # 可以通過(guò)它調(diào)取Open方法來(lái)打開(kāi)ET文件

 workbook = application.Workbooks.Open(Path)

Worksheets(Sheets集合)

 # 代表Sheets集合

 # 對(duì)于Application對(duì)象來(lái)說(shuō),,該屬性代表活動(dòng)工作簿(文件)中的所有工作表(sheet)

 Application.Worksheets

Workbook

參考 WPS開(kāi)放文檔

Workbook相當(dāng)于在ET中打開(kāi)的一個(gè)文件,,注意是一個(gè)文件而不是文件中的表格

Workbook對(duì)象一般是由打開(kāi)文件產(chǎn)生的,,當(dāng)然這不唯一

重要方法

PrintOut(打印文檔)

PrintOut可用的參數(shù)很多,并且都是可選參數(shù),,可用控制打印的起始頁(yè),、終止頁(yè)、份數(shù),、是否調(diào)用打印預(yù)覽(默認(rèn)False),、活動(dòng)的打印機(jī)名、是否打印到文件,、是否逐份打印,、是否忽略打印區(qū)域并打印整個(gè)文檔和區(qū)域語(yǔ)言

 Workbook.PrintOut(起始頁(yè), 終止頁(yè), 份數(shù), 打印預(yù)覽, 活動(dòng)的打印機(jī), 是否打印到文件, 逐份打印, 打印到文件的位置, 是否打印整個(gè)對(duì)象, 區(qū)域語(yǔ)言)

Save(保存文件)

保存對(duì)指定工作簿所做的更改

 Workbook.Save()

SaveAs(另存為文件)

另存文檔到指定位置

參數(shù)很多,比較常用的一般是Filename(保存到),、FileFormat(保存格式)

 Workbook.SaveAs(文件路徑,文件格式...)

Close(關(guān)閉工作簿)

一定記得用完關(guān)掉,關(guān)掉工作簿之前要記得保存

雖然具有參數(shù),,但一般不需要傳參

SendMail(發(fā)送郵件)

這種方式當(dāng)然可以使用,,但如果想要直接后臺(tái)發(fā)送,完全可以使用Python的yagmail庫(kù),,一般的只需要兩行代碼就完成發(fā)送

 Workbook.SendMail(收件人,主題,是否請(qǐng)求返回收件人,區(qū)域語(yǔ)言)

XmlImport(XML轉(zhuǎn)XLS/XLSX)

實(shí)際上是導(dǎo)入Xml文件導(dǎo)入到工作表中,,真實(shí)現(xiàn)轉(zhuǎn)換只需要保存即可

 Workbook.XmlImport(URL/UNC路徑,XmlMap架構(gòu)映射)

重要屬性

FullName(打開(kāi)的工作簿的全路徑)

一般用來(lái)獲取當(dāng)前打開(kāi)文件的全路徑

Password(如果打開(kāi)工作簿需要密碼,在此處設(shè)置)

 # 一般也用不上,,但也不是不可能

 Workbook.Password()

ReadOnly(判斷打開(kāi)的文件是否是只讀的)

只讀狀態(tài)一般是因?yàn)橐呀?jīng)打開(kāi)了

也有可能是之前通過(guò)程序打開(kāi)但是沒(méi)有進(jìn)行關(guān)閉(.Close()方法)

Saved (文件是否保存)

可以根據(jù)此屬性判斷文件是否已經(jīng)保存,,防止數(shù)據(jù)丟失

Worksheets(工作簿中所有的工作表)

一般都是通過(guò)這種方式來(lái)獲取Sheets對(duì)象,灰常重要

Workbooks

重要方法

Add (新建工作表)

Open(打開(kāi)工作表)

Close (關(guān)閉對(duì)象)

OpenDatabase(打開(kāi)數(shù)據(jù)庫(kù))

OpenText(打開(kāi)文本文件)

OpenXML(打開(kāi)XML)

重要屬性

Count(獲取工作表的數(shù)量)

————————————————

版權(quán)聲明:本文為CSDN博主「TineAine」的原創(chuàng)文章,,遵循CC 4.0 BY-SA版權(quán)協(xié)議,,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/tineaine/article/details/108127834

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多