前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python启动Excel

Python启动Excel

作者头像
py3study
发布2020-01-14 11:47:16
1.1K0
发布2020-01-14 11:47:16
举报
文章被收录于专栏:python3

通过简单的实例实现Python与Excel程序实现交互控制。

需要安装pywin32,根据自己的实际情况选择下载版本

引入组件

代码语言:javascript
复制
import win32com.client, win32process

开始启动Excel

win32com.client.Dispatch('Excel.Application'):启动Excel进程,如果系统内存中存在Excel进程则直接使用现有的进程不会新增

win32com.client.DispatchEx('Excel.Application'):启动一个新的Excel进程

win32com.client.gencache.EnsureDispatch('Excel.Application'):和第一情况一样,但是会检测是否存在缓存文件。生成常量缓存文件便于调用程序的常量参数如:win32com.client.constants.xlCalculationManual等。一旦缓存生成,三种方式都可以调用常量参数

缓存文件的目录:

代码语言:javascript
复制
import os
print os.path.join(win32com.__gen_path__, str(win32com.client.gencache.GetClassForProgID('Excel.Application')).split('.')[2])

这里测试我们选择桌面交互的方式控制已开启的空白工作簿

代码语言:javascript
复制
xlApp = win32com.client.gencache.EnsureDispatch('Excel.Application')
print (xlApp.Version, xlApp.Caption)

获取Excel进程Id

代码语言:javascript
复制
Pid = win32process.GetWindowThreadProcessId(xlApp.Hwnd)[1]
print Pid

控制活动工作表

代码语言:javascript
复制
Sht = xlApp.ActiveWorkbook.ActiveSheet
print Sht.Name
import datetime
Sht.Name = datetime.datetime.today().strftime('%Y%m%d')
print Sht.Name

单元格读写操作

1. 九九乘法表

代码语言:javascript
复制
Sht.Range(Sht.Cells(1,1), Sht.Cells(9,9)).Formula = '=IF(COLUMN()>ROW(),"",CONCATENATE(COLUMN(),"x",ROW(),"=",COLUMN()*ROW()))'

2. 批量读取

代码语言:javascript
复制
print Sht.Range(Sht.Cells(1,1), Sht.Cells(9,9)).Value

3. 简单了解Value、Value2、Text三者的区别

代码语言:javascript
复制
A10 = Sht.Range('A10')
A10.Value = datetime.datetime.today()
print (A10.Value, A10.Value2, A10.Text)

上图:

wKiom1UY10eR_seZAAboRMVllgI436.jpg
wKiom1UY10eR_seZAAboRMVllgI436.jpg
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档