IDtExcelProviderEx.File

Синтаксис Fore

File: String;

Синтаксис Fore.NET

File: string;

Описание

Свойство File определяет полное наименование файла источника данных.

Комментарии

Наименование листа, на котором располагаются данные, определяет свойство IDtExcelProviderEx.Sheet.

Пример Fore

Для выполнения примера предполагается наличие файла «C:\Data.xlsx». Добавьте ссылку на системную сборку «Dt».

Фрагмент файла «C:\Data.xlsx», для которого написан пример

Sub UserProc;
Var
    ExcelProviderEx: IDtExcelProviderEx;
    Fields: IDtFieldDefinitions;
    Field: IDtFieldDefinition;
    namField, Val: String;
    v: Array;
    i: Integer;
    s: double;
    rez: boolean;
Begin
    ExcelProviderEx := New DtExcelProviderEx.Create;
    ExcelProviderEx.File := "C:\Data.xlsx";
    ExcelProviderEx.Sheet := "Sheet1";
    ExcelProviderEx.HasHeader := True;
    ExcelProviderEx.HeaderRow := 0;
    ExcelProviderEx.AutoFillFieldsMode := DtAutoFillFieldsMode.DataRow;
    ExcelProviderEx.TypeGuessRows := 5;

    ExcelProviderEx.Format := "XLSX";
    ExcelProviderEx.DataRow := 1;
    ExcelProviderEx.Open;
    Fields := ExcelProviderEx.Fields;
    Debug.WriteLine("Количество полей: " + Fields.Count.ToString);
    namField := "Наименования полей: ";
    // Формируем строку с наименованиями полей
    For Each Field In Fields Do
        namField := namField + Field.Name + "; "
    End For;
    Debug.WriteLine(namField);
    Debug.WriteLine("Данные:");
    While Not ExcelProviderEx.Eof Do

        Val := "";
        ExcelProviderEx.Fetch(v);
        // Формируем строку с данными
        For i := 0 To v.Length - 1 Do
            rez := CultureInfo.Current.TryParseDouble(v[i], s);
            If Not rez Then
                val := val + v[i] + "; ";
            Else
                val := val + s.ToString + "; ";

            End If;
        End For;
        Debug.WriteLine(val);
    End While;
    ExcelProviderEx.Close;
End Sub UserProc;

После выполнения примера в окно консоли будут выведены данные, считанные из файла «C:\Data.xlsx».

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Dt;
Imports Prognoz.Platform.Interop.ForeSystem;

Public Sub UserProc();
Var
    ExcelProviderEx: IDtExcelProviderEx;
    Fields: IDtFieldDefinitions;
    Field: IDtFieldDefinition;
    namField, Val: String;
    v: Array;
    i: Integer;
    s: double;
    rez: boolean;
    ci: CultureInfoClassClass;
Begin

    ExcelProviderEx := New DtExcelProviderEx.Create();
    ExcelProviderEx.File := "C:\Data.xlsx";
    ExcelProviderEx.Sheet := "Sheet1";
    ExcelProviderEx.HasHeader := True;
    ExcelProviderEx.HeaderRow := 0;
    ExcelProviderEx.AutoFillFieldsMode := DtAutoFillFieldsMode.affmDataRow;
    ExcelProviderEx.TypeGuessRows := 5;
    ExcelProviderEx.Format := "XLSX";
    ExcelProviderEx.DataRow := 1;
    ExcelProviderEx.Open();
    Fields := ExcelProviderEx.Fields;
    System.Diagnostics.Debug.WriteLine("Количество полей: " + Fields.Count.ToString());
    namField := "Наименования полей: ";
    // Формируем строку с наименованиями полей
    For Each Field In Fields Do

        namField := namField + Field.Name + "; "
    End For;
    System.Diagnostics.Debug.WriteLine(namField);
    System.Diagnostics.Debug.WriteLine("Данные:");
    ci := New CultureInfoClassClass.Create();
    While Not ExcelProviderEx.Eof Do
        Val := "";
        ExcelProviderEx.Fetch(Var v);

        // Формируем строку с данными 
        For i := 0 To v.Length - 1 Do
            rez := ci.Current.TryParseDouble(v[i].ToString(), Var s);
            If Not rez Then
                val := val + v[i] + "; ";

            Else
                val := val + s.ToString() + "; ";
            End If;
        End For;
        System.Diagnostics.Debug.WriteLine(val);
    End While;
    ExcelProviderEx.Close();
End Sub;

См. также:

IDtExcelProviderEx