我正在使用下面的python代码刷新Excel工作表中的数据,该工作表正在使用Power Query从外部源获取数据。
import xlwings as xw
app = xw.App()
wb = xw.Book('pathToFile')
wb.api.RefreshAll()
有时我们在外部服务器上存在身份验证问题。从Excel手动刷新时,显示“身份验证失败”消息,但是从Python刷新工作表时,我无法捕获此异常。
使用XLWings时是否可以捕获Excel异常?
答案 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中错误的特定详细信息,但是我不知道这对于您要在此处完成的操作是否必要。