检索Excel工作簿连接属性

时间:2018-11-02 15:20:26

标签: python excel win32com

我正在尝试使用python在Excel文件中的“连接属性”窗口中获取“命令文本”。但是,我找不到包含此信息的对象。在下面的图片中,我想检索突出显示的EXEC sp_FooBar作为字符串:

enter image description here

我能够使用以下方式检索连接名称

import odbc
import win32com.client
file = r'PATH_TO_FILE'
xl = win32com.client.DispatchEx('Excel.Application')
wb = xl.workbooks.open(file)
for x in wb.connections:
    print(x)

但是我不确定如何进一步使用<COMObject <unknown>>对象来获取命令文本。我在想win32com可能有一些东西,但似乎无法破解代码。

1 个答案:

答案 0 :(得分:3)

您可以像这样从CommandText实例获取OLEDBConnection属性:

import odbc
import win32com.client

file = r'PATH_TO_FILE'
xl = win32com.client.DispatchEx('Excel.Application')
wb = xl.workbooks.open(file)
for x in wb.Connections:
    print(x.OLEDBConnection.CommandText)
xl.Application.Quit()