我想自动刷新我的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文件。
谢谢
答案 0 :(得分:1)
尝试将querySelector
设置为ie.document.querySelector("button[type=submit]").click
,应该可以解决问题。
答案 1 :(得分:1)
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