簡體   English   中英

自動刷新 Excel 電子表格的 Python 腳本

[英]Python Script to Automate Refreshing an Excel Spreadsheet

我想自動刷新我的 excel 文件。 目前我的代碼並不完全令人滿意,因為 Excel 每次都要求我單擊“取消”或“確定”。 我的 Excel 文件中有兩張工作表。

這是python代碼:

import win32com.client as win32
Xlsx = win32.DispatchEx('Excel.Application')
Xlsx.DisplayAlerts = True
Xlsx.Visible = True
book = Xlsx.Workbooks.Open('C:/Test_Excel/Essai_1.xlsx')
# Refresh my two sheets
book.RefreshAll()
book.Save()
book.Close()
Xlsx.Quit()
del book
del Xlsx

如何在 Excel 不問我任何問題的情況下自動刷新 Excel 文件。

謝謝

嘗試將Xlsx.DisplayAlerts = True設置為Xlsx.DisplayAlerts = False ,這應該可以解決問題。

refreshall() 是一個異步函數,因此您需要等待它完成才能執行其他任何操作。 您可以使用 Xlsx.CalculateUntilAsyncQueriesDone() 來完成此操作。

import win32com.client as win32
Xlsx = win32.DispatchEx('Excel.Application')
Xlsx.DisplayAlerts = True
Xlsx.Visible = True
book = Xlsx.Workbooks.Open('C:/Test_Excel/Essai_1.xlsx')
# Refresh my two sheets
book.RefreshAll()
Xlsx.CalculateUntilAsyncQueriesDone()# this will actually wait for the excel workbook to finish updating
book.Save()
book.Close()
Xlsx.Quit()
del book
del Xlsx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM