Python 自动刷新 Excel 电子表格的脚本

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