python打开excel跳转对应分页

需求: 在python脚本层,直接打开excel,跳转特定分页,方便策划编辑

尝试了几种不同的方法,最终选择了方法4。4种方法都可以实现打开外部文件,3、4可以实现跳转特定分页。3和4的区别是,3通过写文件方法,修改了激活的分页,再进行打开操作。4是相当于通过win32的接口执行了vba操作。

方法1:

使用os.startfile()方法

# 可以用来打开外部程序或文件,系统会自动关联相应的程序来打开

import os

if hasattr(os, 'startfile'):
	os.startfile(file_path)		

方法2:

使用os.system()方法

import os

if os.system(file_path) == 0:
    print("成功")
else:
    print("文件 {}不存在".format(file_path))

方法3:

subprocess.call() 父进程等待子进程完成,返回退出信息(returncode,相当于Linux exit code)。

shell默认为False,在Linux下,shell=False时, call调用os.execvp()执行args指定的程序;shell=True时,如果args是字符串,call直接调用系统的Shell来执行args指定的程序,如果args是一个序列,则args的第一项是定义程序命令字符串,其它项是调用系统Shell时的附加参数。

import subprocess

subprocess.call(file_path, shell=True)      # 可以

方法4:
使用win32的接口,dispatch事件打开excel特定分页。

excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(file_path)
wb.Worksheets("Sheet1").Activate()
excel.Visible = True
posted @ 2019-04-28 11:13  SeeKHit  阅读(851)  评论(0编辑  收藏  举报