Загрузка данных в 1С из xls

При ведении учета в системе 1С:Предприятие достаточно часто возникает необходимость загружать различные данные из файлов формата .xls. В файлах .xls могут, например, храниться цены на товар, предоставленные поставщиком или просто список товаров. Чтобы эти данные были доступны в базе 1С, их надо туда загрузить. Нижеприведенный программный модуль демонстрирует загрузку из файла формата .xls новых кодов и наименований товаров в справочник Номенклатура.

	ИмяФайла= "С:\Товары\каталог.xls";
	Попытка
		//создаем ссылку на приложение Excel
		ExcelApp = СоздатьОбъект("Excel.Application");
	Исключение
		Предупреждение(ОписаниеОшибки()+"; программа Excel не установлена на данном компьютере!");
		СтатусВозврата(0);
	КонецПопытки;
	Попытка
		//открывем рабочую книгу из файла "С:\Товары\каталог.xls"
		Книга = ExcelApp.WorkBooks.Open(ИмяФайла);
		//открывем первую страницу рабочей книги
		Страница = Книга.WorkSheets(1);
	Исключение
		Предупреждение(ОписаниеОшибки());
	КонецПопытки;
	ПрТов = СоздатьОбъект("Справочник.Номенклатура");
	//начинаем цикл, пока не сработает команда "прервать".
	Ном=1;	//начинаем перебор с первой строки таблицы
	Пока 1=1 Цикл
		//считываем значения из ячеек  рабочей книги
		Код      = СокрЛП(Строка(ExcelApp.Cells(Ном,1).Value));
		Наименование = СокрЛП(Строка(ExcelApp.Cells(Ном,2).Value));
		НовыйКод     = СокрЛП(Строка(ExcelApp.Cells(Ном,3).Value)); 
		НовоеНаимен  = СокрЛП(Строка(ExcelApp.Cells(Ном,4).Value));
		Если ПустоеЗначение(Код) = 1 Тогда
			//кончились товары, прекращаем перебор
			Прервать;
		КонецЕсли;
		//находим в справочнике Номенклатура товар с заданным кодом
		Если ПрТов.НайтиПоКоду(Код)=1 Тогда
			Если ПустоеЗначение(НовыйКод)=0  Тогда
				//меняем у найденного товара код и наименование на считанные
				//из рабочей книги значения
				ПрТов.Код=НовыйКод; 
				Если ПустоеЗначение(НовоеНаимен)=0  Тогда
					ПрТов.Наименование=НовоеНаимен; 
				КонецЕсли;
				Тов=ПрТов.ТекущийЭлемент();
				Попытка
					ПрТов.Записать();
					Сообщить("Обновлен товар ("+Тов.Код+") "+Тов.Наименование);
				Исключение  
					Сообщить("Товар с кодом ("+НовыйКод+") уже существует");
				КонецПопытки;
			КонецЕсли;
		Иначе
			Сообщить("Не найден "+Код);
		КонецЕсли;
		Ном = Ном + 1;
	КонецЦикла;
	//завершаем работу с приложением Excel
	ExcelApp.Quit();
	ExcelApp = "";

Аналогичным образом можно заполнять справочники цен на товары, контрагентов и др. Загруженные таким образом данные быстро становятся доступными для использования в базе 1С.