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