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();
|
|