Книга знаний

1С:Предприятие / Приемы программирования / OLE, COM

Выгрузка справочника в Excel

Образец самого простого кода для выгрузки справочника в файл Excel. Перед выполнением примера необходимо открыть пустой документ Excel.Автор статьи: romix | Редакторы:
Последняя редакция №4 от 22.11.06 | История
URL: http://kb.mista.ru/article.php?id=410

//*******************************************+
Процедура Выгрузить_в_Excel()
    xl=СоздатьОбъект("Excel.Application");
    row=1; //первая строка
    спр=СоздатьОбъект("Справочник.Контрагенты");
    спр.ВыбратьЭлементы();
    Пока спр.ПолучитьЭлемент() = 1 Цикл
        xl.Cells(row,1).Value=спр.Код;
        xl.Cells(row,2).Value=спр.Наименование;
        row=row+1;//переходим на следующую строку
    КонецЦикла;
КонецПроцедуры



Ниже "для комплекта" приведен код загрузки справочника из Excel. Справочник - без групп и подчинений, синхронизация производится по наименованию элемента.

//*******************************************+
Процедура Загрузить_из_Excel()
  НачатьТранзакцию(); //для скорости пишем все элементы в одной транзакции
    xl=СоздатьОбъект("Excel.Application");
    rows=xl.ActiveSheet.UsedRange.Rows.Count; //число строк на листе Excel
    спр=СоздатьОбъект("Справочник.Контрагенты");

        //цикл по строкам 
    Для row = 1 По rows Цикл 

          //читаем строку из ячейки Excel (значения должны располагаться в первой колонке) 
          имя=СокрЛП(xl.Cells(row,1).Value);

          //показываем пользователю прогресс в строке состояния
          Состояние(""+row+"/"+rows+"  "+имя);  
          Если имя="" Тогда
            Продолжить; //пустые значения не создаем
          КонецЕсли;

          Если спр.НайтиПоНаименованию(имя, 0, 1)=0 Тогда 
          //если элемент с таким наименованием не найден, то создаем его
            спр.Новый();
            спр.Наименование=имя;
            спр.Записать();
          КонецЕсли;
        КонецЦикла;
  ЗафиксироватьТранзакцию();
КонецПроцедуры



Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика