Из моего приложения Python я пытаюсь открыть ADODB-соединение с Excel. Код как ниже:
# Create Connection object and connect to database.
ado_conn = win32com.client.gencache.EnsureDispatch('ADODB.Connection')
ado_conn.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Test1.xlsx; Extended Properties ='Excel 12.0 Xml;HDR=YES'";
ado_conn.Open()
# Now create a RecordSet object and open a table
oRS = win32com.client.gencache.EnsureDispatch('ADODB.Recordset')
oRS.ActiveConnection = ado_conn # Set the recordset to connect thru oConn
oRS.Open("SELECT * FROM [Orders]")
Когда я отлаживаю приложение, оно выдает ошибку:
com_error (-2147352567, «Возникло исключение.», (0, «Ядро базы данных Microsoft Access», «Ядро базы данных Microsoft Access не может найти объект« Заказы ». Убедитесь, что объект существует и что вы написали его имя»). и путь правильно. Если 'Orders' не является локальным объектом, проверьте сетевое подключение или обратитесь к администратору сервера. ", Нет, 5003011, -2147217865), Нет)
В листе Excel строка подключения выглядит следующим образом:
Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=Orders;Extended Properties=""
Текст команды:
Select * from [Orders]
Даже если соединение есть, оно выдает эту ошибку.
Как выполнить вышеуказанный запрос Excel из приложения Python?
Редактировать: скриншот подключения к Excel добавлен ниже
![enter image description here](https://i.stack.imgur.com/riS9T.png)