东西太多懒得改格式了,如果不舒服可以点这里看MD格式的

WPS 重要API(表格部分)

开始

简介

本文中所有的测试都是在Python 3.8.5的环境中进行实现的,IDE为Pycharm

引用的库主要是Pywin32,通过该库直接调用WPS提供的开发API,因此必须在计算机上安装WPS,迁移时记得在目标主机上安装需要的依赖库(当然也可以直接打包成exe)

由于这种方式直接就是操纵WPS,因此完全可以用一样的方式去调用Excel,但需要根据Office官方提供的二次开发库做一小部分修改(迁移幅度应该不大,因为这其间具有一整套API标准)

快速测试

导入库

 # 必须引入client,直接引入win32com可能报错import win32com.client

声明application(加载wps的表格)

 # 实际上测试excel时也可以直接这样做application = win32com.client.Dispatch('Excel.Application')

打开WPS文件

 # Path指的是本地表格文件的路径,比如:# Path = r"c:\Users\Aine\Desktop\a.xlsx"# 通过Win32的方式并不限制xls和xlsx(因为操作是wps在做)workbook = application.Workbooks.Open(Path)

读取表格文件中的表

 # Sheet指的就是表名(注意不是文件名)worksheet = workbook.Worksheets(Sheet)

修改单元格的内容

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

修改表名称

 worksheet.Name = 'MySheet'

保存并退出

 # Path是指要将文件保存到哪一个位置worksheet.SaveAs(Path)

操作完成后退出表格文件

 # 注意,此处退出的是文件,而不是WPS程序# 相当于在WPS中关闭了文件# 如果操作完表格不关闭文件,极有可能会造成文件无法打开workbook.Close()

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

 application.Quit()

流程概况

  1. 加载Application

  2. 通过Application获取Workbook

  3. 通过Workbook的Worksheets获取Worksheet

  4. 根据获取到的表对数据进行操作

  5. 保存修改/另存为

  6. 关闭Workbook(文件)

  7. 关闭Application(ET)

重要API

Application

参考 WPS开放文档

Application相当于WPS中表格的主程序(也称为et),在Python + Pywin32中,首先要通过Dispatch加载程序

重要方法

FindFile和GetOpenFilename(打开文件对话框)

参考信息(FindFile)

参考信息(GetOpenFilename)

 # FindFile方法# 该方法属于Application对象的方法,调用后会前台显示WPS界面,并弹出打开文件对话框。# 注意,该对话框不会返回打开文件的路径,但会返回是否打开成功# 当选择了一个文件,会在前台打开该文件Application.FindFile()# GetOpenFilename方法# 和FindFile方法不同,这个方法并不会前台打开文件,而是弹出一个打开文件对话框# 该方法返回的值是文件的全路径# 通常有需要的情况下是使用GetOpenFilename方法Application.GetOpenFilename()

GetSaveAsFilename(弹出另存为对话框)

参考信息

 # GetSaveAsFilename方法# 该方法和GetOpenFilename类似,都不会真正的进行另存为操作,而是返回用户选择的全路径Application.GetSaveAsFilename()

InputBox(弹出一个接受用户输入的对话框)

参考信息

 # 该方法会弹出一个包含一个文本框的对话框,并返回用户的输入# 该文本框可以接受多种数值,也可以指定其标题、初始值、位置以及返回值类型# 具体参数参考官方文档 ↑↑↑Application.InputBox("请输入密码","警告","123456")

Run和Wait

参考消息(Run)

参考消息(Wait)

 # Run方法用于运行一个宏或调用一个VB程序# 注意,个人版一般是不支持宏调用的# Wait方法用于暂停运行宏Application.Run(要运行的宏)# Wait会暂停ET的一切操作,当然不会暂停打印和重新计算# 传入的值是必须的,含义是下一次继续运行的时间,比如Wait("12:20:00")Application.Wait(继续运行的时间)

当然也可以暂停运行指定的时间,比如十分钟(官方例程)

 let now = new Date()let seconds = now.getTime()now.setTime(seconds + 1000 * 10)Application.Wait(now.toLocaleString())

Quit

参考信息

 # Quit几乎是最需要但最容易忘记的方法,它负责退出ET程序,注意,该方法要在退出表格文件之后执行# 另外,如果有未保存的Workbook,ET会弹出对话框询问用户是否关闭,可以通过将Application中的DisplayAlerts设置为False(不显示信息,会直接不保存退出)Application.Quit()

重要属性

ActivePrinter(获取/设置打印机)

 # String类型Application.ActivePrinter

Build(获取ET内部版本号)

 Application.Build

DisplayFullScreen(是否全屏)

 # 指示ET当前是否为全屏状态,可读写(True 全屏; FaLse 非全屏)Application.DisplayFullScreen

EnableSound(是否允许发声)

 # 该属性指示ET是否可以发出声音,Boolean,可读写Application.EnableSound 

HighQualityModeForGraphics(高质量打印图形)

 # BooleanApplication.HighQualityModeForGraphics

Hinstance(获取ET的句柄)

 # 只读Application.Hinstance

OperatingSystem(获取操作系统版本)

 # 只读Application.OperatingSystem

Path(获取WPS所在目录)

 # 只读Application.Path

PrintCommunication(测试打印机可达性)

 Application.PrintCommunication

Ready(ET是否就绪)

 # 判断ET是否准备就绪Application.Ready

ScreenUpdating(屏幕更新)

 # 一般设置为True,如果需要加快宏(包括Py脚本)运行,可以暂时设置为FalseApplication.ScreenUpdating

StatusBar(设置状态栏文字)

 # 可以获取和设置ET下方状态栏的文本Application.StatusBar

UserControl (判断窗口是否由用户打开)

 # 如果用户创建或者ET可见,该值为True,如果以代码方式打开切应用程序隐藏,该值为FalseApplication.UserControl

UserName (获取系统用户名)

 Application.UserName

Version(ET版本号)

 Application.Version

Visible(是否可见)

 # 确定ET是否可见(一般不用设置,如果设置可能造成运行时闪一下屏)Application.Visible

Workbooks(打开的工作表)

 # 最重要的属性之一,代表所有打开的ET文件Application.Workbooks# 可以通过它调取Open方法来打开ET文件workbook = application.Workbooks.Open(Path)

Worksheets(Sheets集合)

 # 代表Sheets集合# 对于Application对象来说,该属性代表活动工作簿(文件)中的所有工作表(sheet)Application.Worksheets

Workbook

参考 WPS开放文档

Workbook相当于在ET中打开的一个文件,注意是一个文件而不是文件中的表格

Workbook对象一般是由打开文件产生的,当然这不唯一

重要方法

PrintOut(打印文档)

PrintOut可用的参数很多,并且都是可选参数,可用控制打印的起始页、终止页、份数、是否调用打印预览(默认False)、活动的打印机名、是否打印到文件、是否逐份打印、是否忽略打印区域并打印整个文档和区域语言

 Workbook.PrintOut(起始页, 终止页, 份数, 打印预览, 活动的打印机, 是否打印到文件, 逐份打印, 打印到文件的位置, 是否打印整个对象, 区域语言)

Save(保存文件)

保存对指定工作簿所做的更改

 Workbook.Save()

SaveAs(另存为文件)

另存文档到指定位置

参数很多,比较常用的一般是Filename(保存到)、FileFormat(保存格式)

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

Close(关闭工作簿)

一定记得用完关掉,关掉工作簿之前要记得保存

虽然具有参数,但一般不需要传参

SendMail(发送邮件)

这种方式当然可以使用,但如果想要直接后台发送,完全可以使用Python的yagmail库,一般的只需要两行代码就完成发送

 Workbook.SendMail(收件人,主题,是否请求返回收件人,区域语言)

XmlImport(XML转XLS/XLSX)

实际上是导入Xml文件导入到工作表中,真实现转换只需要保存即可

 Workbook.XmlImport(URL/UNC路径,XmlMap架构映射)

重要属性

FullName(打开的工作簿的全路径)

一般用来获取当前打开文件的全路径

Password(如果打开工作簿需要密码,在此处设置)

 # 一般也用不上,但也不是不可能Workbook.Password()

ReadOnly(判断打开的文件是否是只读的)

只读状态一般是因为已经打开了

也有可能是之前通过程序打开但是没有进行关闭(.Close()方法)

Saved (文件是否保存)

可以根据此属性判断文件是否已经保存,防止数据丢失

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

一般都是通过这种方式来获取Sheets对象,灰常重要


Workbooks

重要方法

Add (新建工作表)

Open(打开工作表)

Close (关闭对象)

OpenDatabase(打开数据库)

OpenText(打开文本文件)

OpenXML(打开XML)

重要属性

Count(获取工作表的数量)

慢慢更新,一次真写不完...

Python 操作WPS开发API相关推荐

  1. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用

    python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装 安装及简单使用:https://github.com/andymccurdy/ ...

  2. Python操作wps和et(WPS版的DOC和EXCEL)

    一.安装win32com: pip install pypiwin32 二.导入模块: import win32com.client 三.操作WPS文字: wps = win32com.client. ...

  3. Python操作AutoCAD开发环境概述(Windows)

    目录 安装Python环境 pyautocad库安装 comtypes库安装 开发环境 安装Python环境 python官网下载: https://www.python.org/downloads/ ...

  4. 脚本操作WPS的一些想法

    [TOC]  this blog is wrote for you 我觉得吧,使用wps既没有效率,又学不到什么东西.使用脚本总会快一些,即使不用,看一看能也了解更多东西吧. 用脚本操作WPS大体有两 ...

  5. Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  6. python可操作wps文档

    可以使用Python操作WPS文档.WPS Office提供了Python的开发包WPS-SDK-Python,可以使用Python语言调用WPS Office的API接口实现文档的读取.编辑等功能. ...

  7. Python全栈开发:RabbitMQ/Redis/Memcache/SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  8. python 新建文件 hdfs_大数据学习(六):Python操作hdfs(包括追加数据文件到hdfs文件)...

    #!coding:utf-8 import sys from hdfs.client import Client #设置utf-8模式 reload(sys) sys.setdefaultencodi ...

  9. python操作hdfs_python 操作hdfs

    from hdfs.client importClient#关于python操作hdfs的API可以查看官网:#https://hdfscli.readthedocs.io/en/latest/api ...

最新文章

  1. 22个案例详解Pandas数据分析/预处理时的实用技巧,超简单
  2. Keras Bug 解决方法 Exception ignored in: bound method BaseSession.__del__ of
  3. 【PAT乙级】1093 字符串A+B (20 分)
  4. asp.net学习资源汇总
  5. Java将网络地址对应的图片转成本地的图片
  6. matlab激光散斑散射半径测量,激光散斑测量2011412225741
  7. java什么叫元素_什么是Java做什么 - 每个元素使它们成为对象类型?
  8. Gradle笔记——Gradle的简介与安装
  9. Java高级语法笔记-接口(interface)
  10. php继承exten,es6,extends_react中通过extend继承,父组件为什么能访问子组件的属性,es6,extends,react.js - phpStudy...
  11. 12-关于DOM操作的相关案例
  12. 矩阵分解——三角分解(二)
  13. Windows下安装GitHub客户端
  14. 鱼类放流标记 PIT鱼类无线射频标记设备|读卡器
  15. RHEL7修改root密码
  16. 为什么blender安装后无法打开_CAD教程:CAD软件打开图纸后钢筋符号无法读取的解决办法...
  17. HBuilderX运行微信小程序启动失败
  18. linux floppy 虚拟,Floppylinux
  19. 批量转换——颜色代码(16进制)与RGB
  20. 二进制及二进制的转换

热门文章

  1. 神经网络过拟合、动量注意点
  2. 关于猫网络桥接设置方法
  3. 优秀课程案例:使用Scratch绘制金字塔!
  4. Spring Security 集成 Authing CAS 认证(三)
  5. Redis Pipeline 原理及注意事项
  6. C语言:map与迭代器iterator
  7. NYOJ 10 skiing (深搜和动归)
  8. Ubuntu安装jdk tar gz的方法
  9. yaf mysql_Yaf框架封装的MySQL数据库操作示例
  10. php配置yaf,Yaf配置文件详解