python和PQ的完美结合——python批量刷新PQ工作簿模型

python和PQ的完美结合
PQ固定格式刷新数据
当报表达到一定体量,一个个表打开刷新也挺费事儿的
使用python执行全部刷新并保存,优化工作流程

import win32com.client
import os,time
#定义刷新函数
def refresh(path,tm):
    application=win32com.client.Dispatch("Excel.Application")#调用WIn中的COM
    workbook = application.Workbooks.Open(path)#打开工作簿
    application.Visible = True#是否执行屏幕刷新
    workbook.RefreshAll()
    time.sleep(tm) #视个人情况自定义延时
    workbook.Save()
    workbook.Close(True)
    application.Quit()
#自定义参数
dir_path0=r'F:\竞品月报'
dir_path1=os.listdir(dir_path0)
tm=int(input('请输入自定义刷新时间(秒)'))
#主程序
#多子文件夹路径
for dir_path in dir_path1:
    dir_path2=dir_path0+'/'+dir_path
    wj_names=os.listdir(dir_path2)
    for wj_name in wj_names:
        data_path=dir_path2+'/'+wj_name
        data=pd.read_excel(data_path)
        refresh(data_path,tm)
print("所有文件刷新完成")

bug不足:
无法检测刷薪是否完成,通过延时等待刷新结果并保存
网上有提示使用禁用后台刷新可以等待执行完成再继续下一步,但多次测试未果
有好的想法可以评论交流!!!

发布了48 篇原创文章 · 获赞 44 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_35866846/article/details/104280539
pq
今日推荐