IDtOdsProvider.DataSheetRow

Синтаксис

DataSheetRow(SheetName: String): Integer;

Параметры

SheetName. Наименование листа.

Описание

Свойство DataSheetRow для указанного листа определяет индекс первой строки, содержащей данные.

Комментарии

Данное свойство актуально, если в свойстве Sheet указаны наименования нескольких листов файла с данными.

Пример

Для выполнения примера в файловой системе предполагается наличие файла в формате OpenDocument - D:\Work\data.ods. В файле имеются два листа с наименованиями Лист1 и Лист2, на каждом листе в первой строке расположены заголовки столбцов, начиная со второй строки идут данные.

Добавьте ссылку на системную сборку Dt.

Sub UserProc;
Var
    OdsProvider: IDtOdsProvider;
    Fields: IDtFieldDefinitions;
    Field: IDtFieldDefinition;
    FieldName: String;
    v: Array;
    i: Integer;
Begin
    OdsProvider := New DtOdsProvider.Create;
    OdsProvider.File := "d:\Work\data.ods";
    OdsProvider.Sheet := "Лист1\;Лист2";
    OdsProvider.HasHeader := True;
    OdsProvider.HeaderRow := 0;
    OdsProvider.DataSheetRow("Лист1") := 1;
    OdsProvider.DataSheetRow("Лист2") := 1;
    OdsProvider.Open;
    Fields := OdsProvider.Fields;
    Debug.WriteLine("Количество полей: " + Fields.Count.ToString);
    FieldName := "Наименования полей: ";
    // Формируем строку с наименованиями полей
    For Each Field In Fields Do
        FieldName := FieldName + Field.Name + "; "
    End For;
    Debug.WriteLine(FieldName);
    Debug.WriteLine("Данные:");
    While Not OdsProvider.Eof Do
        OdsProvider.Fetch(v);
        For i := 0 To v.Length - 1 Do
            Debug.Write(v[i] + " ");
        End For;
        Debug.WriteLine("");
    End While;
    OdsProvider.Close;
End Sub UserProc;

При выполнении примера будет создан новый источник, связанный с указанным файлом. Значения будут импортироваться с двух листов, начиная с указанных строк. Полученные данные будут выведены в консоль среды разработки.

См. также:

IDtOdsProvider