HelpF.pro

Загрузка списка номенклатуры в ТЗ из Excel

Код 1C v 8.х
   
Попытка
XLSОбъектОсновной = Новый COMОбъект("Excel.Application");
Исключение
Предупреждение("Невозможно загрузить MS EXCEL !!!" + Символы.ПС + ОписаниеОшибки(), 10, "Ошибка");
Возврат;
КонецПопытки;

XLSОбъектКниги = XLSОбъектОсновной.WorkBooks;

Попытка
XLSОбъект = XLSОбъектКниги.Open(элементыформы.пвИмяФайла.Значение);
Исключение
Предупреждение("Невозможно открыть файл " + элементыформы.пвИмяФайла.Значение + " !!!" + Символы.ПС + ОписаниеОшибки(), 10, "Ошибка");
Возврат;
КонецПопытки;

XLSОбъект.Application.Caption = "Открыто из 1С";
//определим диапозоны
Если НомерСтрокиСДанными = 0 Тогда
// То с первой строки
НомерСтрокиСДанными = 1;
КонецЕсли;

Если НомерСтраницы = 0 Тогда
// То с первой страницы
НомерСтраницы = 1;
КонецЕсли;

Лист = XLSОбъект.Sheets(НомерСтраницы);

Если КолВоКолонок = 0 Тогда
//КолВоКолонок не установлено, будем автоматически заполнять
КолВоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
КонецЕсли;

Если КолВоСтрок = 0 Тогда
// КолВоСтрок не уставновлено, Будем автоматически заполнять количество строк.
КолВоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
КонецЕсли;
// ТЗДанных - Таблица значений на форме
ТЗДанных.Очистить();
Лист = XLSОбъект.Sheets(НомерСтраницы);
Для чС = (НомерСтрокиСДанными + 1) По КолВоСтрок Цикл
Состояние("Загружаем строки:" + чС);
ностр=ТЗДанных.Добавить();
попытка
//грузим номенклатуру
Ячейка = Лист.Cells(чС,1);
ностр.НоменклатураЕксел = Ячейка.Value;
исключение
сообщить("Номенклатура - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
попытка
//грузим количество
Ячейка = Лист.Cells(чС, 2);
ностр.Количество = Ячейка.Value;
исключение
сообщить("Количество - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
попытка
//грузим сумму
Ячейка = Лист.Cells(чС, 3);
ностр.Сумма = Ячейка.Value;
исключение
сообщить("Сумма - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
попытка
//грузим единица измерения
Ячейка = Лист.Cells(чС, 4);
ностр.ЕдИзмеренияЕксел = Ячейка.Value;
исключение
сообщить("Ед. измерения - строка - "+чс + Символы.ПС + ОписаниеОшибки());
конецпопытки;
//КонецЦикла;
КонецЦикла;

XLSОбъект.Application.Quit();

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/205.html