Snippets

Василий Котов 1C. Загрузка из EXCEL

Created by Василий Котов last modified
	//Для получения количества строк можно использовать такую конструкцию
	//   Sheet.Cells.SpecialCells(11).Row
	
	
	Попытка	       
        COMОбъект = Новый COMОбъект(""Excel.Application"");   
	Исключение
		СообщениеОбОшибке = НСтр("ru = 'Не удалось загрузить данные из файла Excel.
		                               |Убедитесь, что на сервере установлена программа Microsoft Excel.
		                               |Подробности:'")
		                    + КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
		ВызватьИсключение СообщениеОбОшибке;
	КонецПопытки;
	
	Попытка
		Workbook      = COMОбъект.Workbooks.Open(<ПутьКФайлу>);
		Sheet         = Workbook.Worksheets("Лист1");
	Исключение
		COMОбъект.Quit();
		COMОбъект = 0;
		СообщениеОбОшибке = НСтр("ru = 'Не удалось прочитать данные из файла. Подробности:'") + " "
		                    + КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
		ВызватьИсключение СообщениеОбОшибке;
	КонецПопытки;
	
	ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("Наименование");
	// Загрузка данных
	Попытка
		
		// Загрузка служебной таблицы
		НомерСтроки = 1;
		КолонкаНомерСтроки = 1; 
        КолонкаНаименование = 2;
		Пока ЗначениеЗаполнено(Sheet.Cells(НомерСтроки, КолонкаНомерСтроки).Value) Цикл
        
            НоваяСтрока = ТЗ.Добавить();
            НоваяСтрока.Наименование = Sheet.Cells(НомерСтроки, КолонкаНаименование).Value;;
			
			НомерСтроки = НомерСтроки + 1;
            
		КонецЦикла;
		
		Workbook.Close(0);
		
	Исключение
		COMОбъект.Quit();
		COMОбъект = 0;
		СообщениеОбОшибке = НСтр("ru = 'Не удалось прочитать данные из файла. Подробности:'") + " "
		                    + КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
		ВызватьИсключение СообщениеОбОшибке;
	КонецПопытки;
	
	COMОбъект.Quit();
	COMОбъект = 0;

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.