![]() |
![]() |
|
Подключился к файлу XLS по ADO | ☑ | ||
---|---|---|---|---|
0
Ivan_495
27.11.13
✎
10:15
|
Подключился к файлу XLS по ADO
ИмяЛиста= "Лист1"; db= Новый COMОбъект("ADODB.Connection"); rs= Новый COMОбъект("ADODB.Recordset"); db.ConnectionString = СтрокаПодключения_ADODB("xls", ПутьКФайлу); db.Open();//прошло успешно db.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="\\192.168.227.6\For_Obmen\m_\Загрузка\тест.xlsx";Extended Properties="Excel 12.0 Xml;HDR=NO;IMEX=1;"" rs.Open("Select * from ["+ИмяЛиста+"$A16:AI41]", db, 2, 3); не выполняется, какой формат команды rs.Open ? |
|||
1
Cube
27.11.13
✎
10:23
|
И че темы плодить-то?
v8: Подскажите... пытаюсь подключиться к XLS через строку |
|||
2
sda553
27.11.13
✎
10:25
|
У меня вот так работает
Excel 5.0;HDR=YES;IMEX=2;DATABASE=" + Trim(catalog) + Trim(filename) |
|||
3
sda553
27.11.13
✎
10:28
|
rs = db.OpenRecordset("select чтото from листекселя")
|
|||
4
Ivan_495
27.11.13
✎
10:57
|
странно db.open() проходит успешно,
а в db.errors Ошибка чтения значения |
|||
5
spectre1978
27.11.13
✎
11:30
|
(0) на днях делал по мурзилке которую нашел тут в Книге знаний. Все делал как написано, только провайдера взял старого, для Jet 4.0, и файл был xls, а не xlsx. Все получилось.
|
|||
6
spectre1978
27.11.13
✎
11:35
|
+ (0) делал примерно вот так:
СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + пвНеотфактуровка + "; Extended Properties = " + """Excel 8.0" + ";HDR=NO;IMEX=1"";" ; Соединение = Новый COMОбъект("ADODB.Connection"); Попытка Соединение.Open(СтрокаПодключения); Исключение Сообщить ("Ошибка открытия файла средствами ADO. Возможно, OLE DB провайдер Jet 4.0 не установлен или файл не имеет формат Excel 97-2003", СтатусСообщения.Важное); Сообщить ("Текст ошибки : " + ОписаниеОшибки (), СтатусСообщения.Важное); Соединение = Неопределено; Возврат; КонецПопытки; Попытка КонечнаяСтрока = 65535; НаборЗаписей = Соединение.Execute("SELECT * FROM [A" + Формат(пвНачальнаяСтрока,"ЧГ=0") + ":CZ" + Формат(КонечнаяСтрока,"ЧГ=0") + "] "); Исключение Сообщить("Не удалось выполнить запрос к файлу Excel средствами ADO, ошибка " + ОписаниеОшибки (), СтатусСообщения.Важное); Соединение = Неопределено; Возврат; КонецПопытки; |
|||
7
aka AMIGO
27.11.13
✎
11:43
|
(5) ссылку приведи
|
|||
8
spectre1978
27.11.13
✎
12:03
|
||||
9
Ivan_495
27.11.13
✎
12:17
|
разобрался recordset получил
|
|||
10
Ivan_495
27.11.13
✎
12:18
|
если в exel лежит гиперссылка, как её считать?
обычные значения считываю Recordset.Fields(7).Value |
|||
11
spectre1978
27.11.13
✎
13:45
|
(10) а для гиперссылки что в этом валуе находится?
|
|||
12
spectre1978
27.11.13
✎
13:48
|
+ (10) насколько я понял, возможности ADO провайдера по работе с экселевскими файлами достаточно ограниченные, поэтому если форматирование не простейшее и типы данных не совсем обычные, то тут он может и обоср#ться. Ввиду чего сильно изгаляться не стоит, не поймет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |