# 说明
## 最佳实践
### WPS
在对于Office或WPS的操作场景中,最适合的其实是Pywin32的方式,因为这种方式可以直接调度由原厂商开放的API,目前我们的场景中最常用到的是WPS,而WPS也开放了相关的二次开发文档
>[ WPS 开放文档]([https://open.wps.cn/docs/office](https://open.wps.cn/docs/office))
通过这份文档,我们几乎可以通过Python实现所有图形界面可以进行的操作,尽管WPS官方文档中没有给出Python的文档(WPS的文档中提供了CPP和Java的文档和案例),但这并不妨碍我们进一步的去使用它们。
#### 简易测试
##### 安装Pywin32
在使用之前,首先要安装pywin32的依赖库,一般的,正常链接网络的计算机可以直接执行:
``` shell
# PIP
pip install pywin32
# PIP3
pip3 install pywin32
```
亦或者你的开发环境是Pycharm,你可以直接 `Ctrl + Alt + S` 打开 `Settings` 窗口,如下图:
![](https://img.kancloud.cn/0a/d9/0ad91da48cc59f4502592d388bc344b9_998x712.png)
继续进入 ` Project: Project ` 下的 ` Python Interpreter `,如下图:
![](https://img.kancloud.cn/5c/13/5c132f175627c3bda576fc6e2fb5fcab_998x712.png)
点击右侧的 ` + `按钮,一样的搜索安装即可
##### Demo
```
import win32com.client
def main():
# ---------------------------------------------------------------------------------
# 必要的开始
# ---------------------------------------------------------------------------------
# 声明application
application = win32com.client.Dispatch('Excel.Application')
# 打开wps表格文件
workbook = application.Workbooks.Open(XLSX文件路径)
# 打开wps表格文件中的表
worksheet = workbook.Worksheets(表名)
# ---------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------
# 需要的操作
# ---------------------------------------------------------------------------------
# 修改单元格的内容
worksheet.Cells(1, 1).Value = 1024
# 弹出用户输入对话框
userInput = application.InputBox('随便输入点什么:')
# 打印用户刚刚输入的内容
print(userInput)
# 调用WPS中内置的函数进行运算
# 执行Log运算
print(application.WorksheetFunction.Log(11.22))
# ---------------------------------------------------------------------------------
if __name__ == '__main__':
main()
```