|
Возможно неверно указан номер листа книги Excel | ☑ | ||
---|---|---|---|---|
0
ac13
08.08.18
✎
13:08
|
Попытка
Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ИмяФайла); Состояние("Обработка файла Microsoft Excel..."); ExcelЛист = Excel.Sheets(НомерЛистаExcel); Исключение Сообщить("Ошибка. Возможно неверно указан номер листа книги Excel."); Возврат ложь; КонецПопытки; Если на компе нет экселя, то никак не загрузить? |
|||
1
МихаилМ
08.08.18
✎
13:13
|
через oledb(ado), odbc, распаковать в xml
|
|||
2
13_Mult
08.08.18
✎
13:45
|
||||
3
ac13
08.08.18
✎
13:48
|
(1) (2) спасибо!
|
|||
4
ac13
08.08.18
✎
15:19
|
А как получить имя первого листа?
ПодключениеADODB = "MicrosoftJetOLEDB40"; ФайлEXCEL = ИмяФайла; ИмяЛиста = ???; СтрокаЗаголовка = 1; НачСтрока = 0; КонСтрока = 0; СonnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + СокрЛП(ФайлEXCEL) + ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"""; Попытка ADODBConnection = Новый COMОбъект("ADODB.Connection"); ADODBConnection.ConnectionString = СonnectionString; ADODBConnection.Open(); ADODBConnection.CursorLocation = 3; Исключение Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание); КонецПопытки; ТекстЗапроса = "SELECT * FROM [" + ИмяЛиста + "$]"; |
|||
5
Михаил Козлов
08.08.18
✎
15:52
|
Я так делал (не знаю, правильно ли - не спец):
Catalog = Новый COMОбъект("ADOX.Catalog"); Catalog.ActiveConnection = ADODB; колвоЛистов = Catalog.Tables.Count; ДЛЯ лст = 0 ПО колвоЛистов-1 Цикл ИмяЛиста = СокрЛП(Catalog.Tables(лст).Name); поз = Найти(ИмяЛиста,"$_"); Если поз=0 Тогда ЗагрузитьДанныеЛиста(ИмяЛиста); КонецЕсли; КонецЦикла; |
|||
6
Вафель
08.08.18
✎
15:54
|
можно читать через табличный документ
|
|||
7
singlych
08.08.18
✎
15:54
|
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Прочитать(ИмяФайла); |
|||
8
ac13
08.08.18
✎
17:24
|
(5) так получилось, спасибо!
|
|||
9
ac13
09.08.18
✎
17:13
|
Есть возможность загружать файлы и XLS и XLSX
Так грузит только XLS СonnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + СокрЛП(ФайлEXCEL) + ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"""; На этот метод СonnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};Dbq=" + СокрЛП(ФайлEXCEL) + ";"; выдает Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию |
|||
10
hhhh
09.08.18
✎
17:38
|
(9) ну тогда (7)
|
|||
11
ac13
09.08.18
✎
17:54
|
(10) если можно так, зачем тогда используют эти методы ?
|
|||
12
Deon
09.08.18
✎
17:55
|
(11) Раньше нельзя было
|
|||
13
Cyberhawk
09.08.18
✎
18:13
|
Надежнее и управляемее, чем чтение xml, способа нет
|
|||
14
MaxS
09.08.18
✎
19:40
|
В 1С в режиме предприятия Файл - Открыть, выбрать excel файл
|
|||
15
ac13
10.08.18
✎
08:41
|
(14) нет, мне нужно файл не открывать, а загружать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |