如何使用xlwings抑制“更新链接”警报

2024-06-26 00:08:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用xlwings api与Python中的Excel文件进行接口。我与之交互的一些Excel文件有旧的链接,当打开文件时会出现提示,询问用户是否要更新链接。这会导致代码无限期地挂在打开书本的行上,直到用户关闭此提示符为止。有没有方法可以修改Excel文件的设置,这样就不会出现这个提示,或者在不打开实际文件的情况下自动关闭它?在

我尝试过使用xlwings方法:

xlwings.App.display_alerts = False

但据我所知,这只能在Excel实例打开后运行。有些Excel api不需要打开文件就可以读取xlrd之类的数据,但是对于读取和复制大量数据(多个/整张数据表)来说,它们并不十分方便。在

以下代码演示了该问题:

^{pr2}$

在常规的Excel文件中,代码继续执行并打印“Done”,而不需要用户干涉,但是在出现“updatelinks”提示的Excel文件中,它不会继续到print语句,直到用户取消该提示。在


Tags: 文件数据方法代码用户api链接情况
1条回答
网友
1楼 · 发布于 2024-06-26 00:08:53

展开第一次尝试时,您不是在处理应用程序实例,而是尝试分配给xlwings.App类。在

但是,似乎xlwings中的^{} doesn't successfully suppress this alert,请尝试以下操作:

import xlwings as xw
app = xw.App(add_book=False)
app.display_alerts = False
wb = app.books.api.Open(fullpath, UpdateLinks=False)

相关问题 更多 >