用xlwings刷新Excel文件中的全部

时间:2018-12-20 15:37:19

标签: python excel refresh xlwings

我想在许多Excel文件中 RefreshAll 数据库连接,但是我不想从python中运行Excel宏。我只想要一行xlwings代码。

我在SO,github,其他论坛和博客上到处都找不到,但是找不到。

下面是我的答案,以供日后遇到相同问题的其他人使用。

1 个答案:

答案 0 :(得分:1)

要在一个Excel文件中 RefreshAll 连接,您只需:wbk.api.RefreshAll()

import xlwings as xw
# open Excel app in the background
app_excel = xw.App(visible = False)

wbk = xw.Book( 'D:\stuff\file.xlsx' )
wbk.api.RefreshAll()

# two options to save
wbk.save( 'D:\stuff\file.xlsx' ) # this will overwrite the file
wbk.save( 'D:\stuff\name1.xlsx' ) # this will save the file with a name

# kill Excel process
app_excel.kill()
del app_excel