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不足:
無法檢測刷薪是否完成,通過延時等待刷新結果並保存
網上有提示使用禁用後臺刷新可以等待執行完成再繼續下一步,但多次測試未果
有好的想法可以評論交流!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章