File: String;
File: string;
Свойство File определяет полное наименование файла, в который будут выгружены данные.
Наименование листа, в который будут выгружены данные, определяет свойство IDtExcelConsumerEx.Sheet.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC». Данная база содержит атрибут показателей «COUNTRY», являющийся ссылкой на справочник. Добавьте ссылки на системные сборки «Metabase», «Dt», «Cubes», «Dal», «Dimensions».
Sub UserProc;
Consumer: DtExcelConsumerEx;
MB: IMetabase;
Exporter: ICubeMetaExporter;
Binding: ICubeMetaExporterBinding;
Begin
// Приемник данных для экспорта в формат Excel
Consumer := New DtExcelConsumerEx.Create;
Consumer.File := "C:\result.xlsx";
Consumer.HasHeader := True;
Consumer.Sheet := "Sheet1";
// Параметры экспорта
Exporter := New CubeMetaExporterClass.Create;
MB := MetabaseClass.Active;
Exporter.Rubricator := MB.ItemById("FC").Bind As IRubricator;
Exporter.Consumer := Consumer As IDtConsumer;
// Параметры экспорта атрибута «COUNTRY»
Binding := Exporter.Bindings.Add;
Binding.FieldName := "CountryKey";
Binding.DataType := DbDataType.Integer;
Binding.BindingType := CubeMetaExporterBindingType.Attribute;
Binding.Attribute := "COUNTRY";
Binding.KeyField := "KEY";
// Параметры экспорта значений
Binding := Exporter.Bindings.Add;
Binding.FieldName := "Year";
Binding.DataType := DbDataType.String;
Binding.BindingType := CubeMetaExporterBindingType.Calendar;
Binding.DateFormat := "$Year$";
Binding.ValueFieldName := "Value";
Binding.ValueDataType := DbDataType.Float;
Exporter.ByColumns := False;
Exporter.CalendarLevel := DimCalendarLevel.Year;
// Экспорт
Exporter.Export;
End Sub UserProc;
После выполнения примера в файл «C:\result.xlsx» на лист «Sheet1» будут выгружены данные из базы данных временных рядов «FC».
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC». Данная база содержит атрибут показателей «COUNTRY», являющийся ссылкой на справочник.
Imports Prognoz.Platform.Interop.Dt;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Cubes;
…
Public Shared Sub Main(Params: StartParams);
Var
Consumer: DtExcelConsumerEx;
MB: IMetabase;
Exporter: ICubeMetaExporter;
Binding: ICubeMetaExporterBinding;
Begin
// Приемник данных для экспорта в формат Excel
Consumer := New DtExcelConsumerEx.Create();
Consumer.File := "C:\result.xlsx";
Consumer.HasHeader := True;
Consumer.Sheet := "Sheet1";
// Параметры экспорта
Exporter := New CubeMetaExporterClass.Create();
MB := Params.Metabase;
Exporter.Rubricator := MB.ItemById["FC_COMM_26"].Bind() As IRubricator;
Exporter.Consumer := Consumer As IDtConsumer;
// Параметры экспорта атрибута «COUNTRY»
Binding := Exporter.Bindings.Add();
Binding.FieldName := "CountryKey";
Binding.DataType := DbDataType.ddtInteger;
Binding.BindingType := CubeMetaExporterBindingType.cmebtAttribute;
Binding.Attribute := "COUNTRY";
Binding.KeyField := "KEY";
// Параметры экспорта значений
Binding := Exporter.Bindings.Add();
Binding.FieldName := "Year";
Binding.DataType := DbDataType.ddtString;
Binding.BindingType := CubeMetaExporterBindingType.cmebtCalendar;
Binding.DateFormat := "$Year$";
Binding.ValueFieldName := "Value";
Binding.ValueDataType := DbDataType.ddtFloat;
Exporter.ByColumns := False;
Exporter.CalendarLevel := DimCalendarLevel.dclYear;
// Экспорт
Exporter.Export();
End Sub;
После выполнения примера в файл «C:\result.xlsx» на лист «Sheet1» будут выгружены данные из базы данных временных рядов «FC».
См. также: