Имя: Пароль:
1C
 
Работа в Excel через ADO
0 bestuzhev
 
03.09.08
08:23
Люди добрые! Дайте пример работы с Excel файлами через ADO в 1с 8.1
1 big
 
03.09.08
08:40
это для 7-ки, но в 8-ке переделки минимальны

db=CreateObject("ADODB.Connection");
rs=CreateObject("ADODB.Recordset");

ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.Очистить();
   
ТЗ.НоваяКолонка("НомСтр", "Число",4,,"стр",4);
ТЗ.НоваяКолонка("Ном", "Число",4);
ТЗ.НоваяКолонка("Код", "Строка",254);
ТЗ.НоваяКолонка("Наименование","Строка",254);
ТЗ.НоваяКолонка("Колво", "Число",19,5);
ТЗ.НоваяКолонка("Ед","Строка",25);
       
db.ConnectionString = "
|Provider=Microsoft.Jet.OLEDB.4.0;
|Data Source="+СокрЛП(Путь)+";
|Extended Properties=""Excel 8.0;
|HDR=No;
|IMEX=1""";
db.Open();
rs.ActiveConnection = db;
rs.CursorType = 3;
rs.LockType = 2;
rs.Source = "Select * from [Списание материалов$]";
       
Попытка
   rs.Open();
Исключение
   Сообщить("Неудачная попытка чтения данных из файла "+СокрЛП(Путь)+", лист ""СписаниеМатериалов""");
   Возврат;
КонецПопытки;
       
Пока rs.Eof()=0 Цикл
   ТЗ.НоваяСтрока();
   ТекНомерСтроки=rs.AbsolutePosition;
   ТЗ.НомСтр=ТекНомерСтроки;
   Ном=Число(СтрЗаменить(rs.Fields(0).Value,",","."));
   Колво=Число(СтрЗаменить(rs.Fields(4).Value,",","."));
   ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Ном",Ном);
   ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Код",rs.Fields(1).Value);
   ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Наименование",rs.Fields(2).Value);
   ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Колво",Колво);
   ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Ед",rs.Fields(3).Value);
   rs.MoveNext();
КонецЦикла;
rs.Close();
db.Close();
2 bestuzhev
 
04.09.08
11:37
(2) Спасибо... А может ктонить привести пример работы с 1с 7.7 из 1с 8.1 через OLE
AdBlock убивает бесплатный контент. 1Сергей