如何使用XLWing捕获身份验证失败异常?

时间:2019-08-08 14:15:36

标签: python excel powerquery xlwings

我正在使用下面的python代码刷新Excel工作表中的数据,该工作表正在使用Power Query从外部源获取数据。

import xlwings as xw

app = xw.App()

wb = xw.Book('pathToFile')
wb.api.RefreshAll()

有时我们在外部服务器上存在身份验证问题。从Excel手动刷新时,显示“身份验证失败”消息,但是从Python刷新工作表时,我无法捕获此异常。

使用XLWings时是否可以捕获Excel异常?

1 个答案:

答案 0 :(得分:0)

我不知道xlwings的详细信息,但是考虑到Power Query告诉Excel所做的事情有多糟糕,我不希望有任何简单的事情。 Power Query完全能够告诉自己它在做什么。您可以像这样简单查询:

let
    Source = try YourQuery otherwise "ERROR",
    ErrorCheck = if Source = "ERROR" then "Failed" else "Success"
in
    ErrorCheck

这将向您可以检查的Excel表返回成功/失败通知。我只是通过强制测试查询失败来进行测试的,但我认为验证错误也应触发此操作。您也可以通过多种方法返回有关PQ中错误的特定详细信息,但是我不知道这对于您要在此处完成的操作是否必要。