| 
    
            
         
         | 
    
  | 
чтение Экселя | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        popoff17    
     12.07.12 
            ✎
    10:39 
 | 
         
        Здравствуйте!
  
        Прошу срочной помощи: Нужно загрузить данные из файла excel в документ 1с. ранее читал эксель таким образом: Эксель = Новый COMОбъект("Excel.Application"); Сейчас поставили на все машины ОС win7 и офисы 2010. Появляется ошибка. Поискал решение - нашел тут на мисте следующий пример чтения: MyCon = Новый COMОбъект ("ADODB.Connection"); MyCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Загрузка в регистр остатков отпусков\13-12-2011.xls;Extended Properties=""Excel 8.0;HDR=No;IMEX=1"""); MyCat=Новый COMОбъект ("ADOX.Catalog"); MyCat.ActiveConnection = MyCon; ИмяПервойСтраницы=MyCat.Tables.Item(0).Name; MyRst = Новый COMОбъект ("ADODB.Recordset"); MyStr = "select * from ["+ИмяПервойСтраницы+"]"; MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic Пока НЕ MyRst.EOF() Цикл Сообщить(Строка(MyRst.Fields(MyRst.Fields.Item(0).Name).Value)); MyRst.MoveNext(); КонецЦикла; MyRst.Close(); MyCon.Close(); Если правильно понял - данные выдергиваются из экселя запросом. Тут вывод: Сообщить(Строка(MyRst.Fields(MyRst.Fields.Item(0).Name).Value)); Выводятся значения 4й колонки начиная с 3й строки. А нужно прочитать все колонки. Такой код вижу впервый, поэтому потыкался наугад, попробовал изменить Item(0) - все равно читает только 4ю колонку. Подскажите как прочитать остальные колонки, пожалуйста. Нужно просто оперативно решить вопрос, гуглить что и как потом буду. Заранее спасибо!  | 
|||
| 
    1
    
        shuhard    
     12.07.12 
            ✎
    10:50 
 | 
         
        (0)[попробовал изменить Item(0) - все равно читает только 4ю колонку. ]
  
        лажа  | 
|||
| 
    2
    
        popoff17    
     12.07.12 
            ✎
    10:53 
 | 
         
        (1) т.е.?     
         | 
|||
| 
    3
    
        vbh    
     12.07.12 
            ✎
    11:10 
 | 
         
        Процедура КнопкаВыполнитьНажатие(Кнопка)
  
        Книга = ПолучитьCOMОбъект(СтрокаФайла); Лист1 = Книга.Worksheets(НоменВкладкиЭксельФайла); ФайлСтрок = Лист1.Cells(1,1).SpecialCells(11).Row; ФайлКолонок = Лист1.Cells(1,1).SpecialCells(11).Column; Для СчетчикСтрок= 1 по ФайлСтрок Цикл Значение = ТЗ.Добавить(); Значение.АдресУзла = Лист1.Cells(СчетчикСтрок, НомерСтолбцаАдресаВЭкселе).Value; //Значение.СкоростьПорта = Лист1.Cells(СчетчикСтрок, 3).Value; Состояние(Лист1.Cells(СчетчикСтрок, НомерСтолбцаАдресаВЭкселе).Value); Для кол=1 по ФайлКолонок Цикл Если СокрЛП(Лист1.Cells(СчетчикСтрок, кол).Value)<>"" Тогда Значение.Комментарий=Строка(Значение.Комментарий)+" / "+Строка(СокрЛП(Лист1.Cells(1, кол).Value))+"-"+Строка(СокрЛП(Лист1.Cells(СчетчикСтрок, кол).Value)); Конецесли; КонецЦикла; КонецЦикла; КонецПроцедуры  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |