Python启动Excel
通过简单的实例实现Python与Excel程序实现交互控制。
需要安装pywin32,根据自己的实际情况选择下载版本
引入组件
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等。一旦缓存生成,三种方式都可以调用常量参数
缓存文件的目录:
import os
print os.path.join(win32com.__gen_path__, str(win32com.client.gencache.GetClassForProgID('Excel.Application')).split('.')[2])
这里测试我们选择桌面交互的方式控制已开启的空白工作簿
xlApp = win32com.client.gencache.EnsureDispatch('Excel.Application')
print (xlApp.Version, xlApp.Caption)
获取Excel进程Id
Pid = win32process.GetWindowThreadProcessId(xlApp.Hwnd)[1]
print Pid
控制活动工作表
Sht = xlApp.ActiveWorkbook.ActiveSheet
print Sht.Name
import datetime
Sht.Name = datetime.datetime.today().strftime('%Y%m%d')
print Sht.Name
单元格读写操作
1. 九九乘法表
Sht.Range(Sht.Cells(1,1), Sht.Cells(9,9)).Formula = '=IF(COLUMN()>ROW(),"",CONCATENATE(COLUMN(),"x",ROW(),"=",COLUMN()*ROW()))'
2. 批量读取
print Sht.Range(Sht.Cells(1,1), Sht.Cells(9,9)).Value
3. 简单了解Value、Value2、Text三者的区别
A10 = Sht.Range('A10')
A10.Value = datetime.datetime.today()
print (A10.Value, A10.Value2, A10.Text)
上图:
(未完)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341