Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
2.3 kB
2
Indexable
Never
&НаСервере
Процедура ПрочитатьExcel_ADO(ПутьКФайлу)
	
	ТаблицаТоваров.Очистить();
	
	// 1. Установка соединения с источником данных
	Попытка
		СтрокаСоединения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ПутьКФайлу +";
							|Extended Properties=""Excel 12.0;HDR=YES""";
		
		Соединение = Новый COMОбъект("ADODB.Connection");
		Соединение.Open(СтрокаСоединения);
	Исключение
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Не удалось установить соединение с источником данных по причине: " + ОписаниеОшибки();
		Сообщение.Сообщить();
		Возврат;
	КонецПопытки;
	
	// 2. Получение выборки данных из источника
	Попытка
		ТекстЗапроса = "SELECT * FROM [Лист1$]";
		Выборка = Новый COMОбъект("ADODB.RecordSet");
		Выборка.Open(ТекстЗапроса, Соединение);
	Исключение
	    Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Не удалось получить данные из источника по причине: " + ОписаниеОшибки();
		Сообщение.Сообщить(); 
		Возврат;
	КонецПопытки;	
	
	// 3. Обработка выборки данных
	Пока НЕ Выборка.EOF() Цикл
		
		СтрокаТаблицы = ТаблицаТоваров.Добавить();
		СтрокаТаблицы.Наименование	= Выборка.Fields(0).Value;
		СтрокаТаблицы.Артикул		= Выборка.Fields(1).Value;
		СтрокаТаблицы.Остаток		= Выборка.Fields(2).Value;
		СтрокаТаблицы.Цена			= Выборка.Fields(3).Value;
		
		Выборка.MoveNext();
		
	КонецЦикла;
	
	// 4. Закрыть соединение
	Выборка.Close();
	Соединение.Close();
	
КонецПроцедуры
Leave a Comment