我正在使用 xlwings api 与 Python 中的 Excel 文件进行交互。我正在与之交互的某些 Excel 文件具有旧链接,这会导致在打开文件时出现提示,询问用户是否要更新链接。这会导致代码无限期地挂在打开这本书的行上,直到用户关闭此提示。有没有办法修改Excel文件的设置,这样就不会出现这个提示,或者在不打开实际文件的情况下自动关闭?
我曾尝试使用 xlwings 方法:
xlwings.App.display_alerts = False
Run Code Online (Sandbox Code Playgroud)
取消提示,但据我所知,这只能在 Excel 实例打开后运行。有一些 Excel api 不需要打开文件即可读取 xlrd 等数据,但它们对于读取和复制大量数据(多张/整张数据)并不是很方便。
下面的代码演示了这个问题:
import xlwings as xw
wb = xw.Book(r'C:\Path\To\File\Filename')
print('Done')
Run Code Online (Sandbox Code Playgroud)
在常规 Excel 文件中,代码继续执行并打印“完成”而无需用户干预,但在出现“更新链接”提示的 Excel 文件中,它不会继续执行打印语句,直到提示被一个用户。
扩展您的第一次尝试——您不是在处理 App 实例,而是在尝试分配给xlwings.App该类。
然而,似乎display_alerts没有成功抑制此警报的xlwings,试试这个:
import xlwings as xw
app = xw.App(add_book=False)
app.display_alerts = False
wb = app.books.api.Open(fullpath, UpdateLinks=False)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3463 次 |
| 最近记录: |