我正在尝试使用python在Excel文件中的“连接属性”窗口中获取“命令文本”。但是,我找不到包含此信息的对象。在下面的图片中,我想检索突出显示的EXEC sp_FooBar
作为字符串:
我能够使用以下方式检索连接名称:
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
可能有一些东西,但似乎无法破解代码。
答案 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()