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

时间:2018-07-02 04:46:06

标签: python excel automation refresh

我想自动刷新我的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文件。

谢谢

2 个答案:

答案 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