Создание рабочей книги с несколькими листами и добавление в нее данных

Для выполнения примера предполагается наличие в репозитории:

Подключите ссылки на следующие системные сборки:

Пример

Sub UserProc;
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    MObj: IMetabaseObject;
    Exp: IEaxAnalyzer;
    Source: IMetabaseObjectDescriptor;
    WB: ILaner;
    FactD: IRubricatorFactData;
    RubFactor : IRubricatorFactor;
    Series: ILanerSeries;
Begin
    MB := MetabaseClass.Active;
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_WORKBOOK;
    CrInfo.Id := MB.GenerateId("NewWorkbook");
    CrInfo.Name := "Новая рабочая книга";
    CrInfo.Parent := MB.ItemById("WORKBOOKS");
    //Создаем объект репозитория «Рабочая книга»
    MObj := MB.CreateObject(CrInfo).Edit;
    Exp := MObj As IEaxAnalyzer;
    //Определяем источник рабочей книги
    Source := MB.ItemById("TSDB");
    //Добавляем в рабочую книгу второй лист из экспресс-отчета/рабочей книги с указанным идентификатором
    Exp.Sheets.Add(MB.ItemById("OBJ123").Bind As IEaxAnalyzer);
    WB := Exp.Laner;
    WB.RubricatorInstance := Source.Open(NullAs IRubricatorInstance;
    //Возвращаем из базы данных временных ряд показатель с указанным ключом
    FactD := WB.RubricatorInstance.GetFactData(45718);
    RubFactor := FactD.Factor;
    Series:= WB.Series;
    //Добавляем на активный лист рабочей книги ряд из базы данных временных рядов
    Series.AddCalculateSerieAsSource(RubFactor);
    //Сохраняем созданный объект репозитория
    MObj.Save;
End Sub UserProc;

После выполнения примера в папке с идентификатором «WORKBOOKS» будет создана рабочая книга с наименованием «Новая рабочая книга», источником которой является база данных временных рядов с идентификатором «TSDB». В рабочую книгу добавлен второй лист из экспресс-отчета/рабочей книги с идентификатором «OBJ123». На активный лист рабочей книги добавлен ряд с ключом 45718 из источника рабочей книги.

См. также:

Примеры | ILaner | ILanerSeries