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;
При выполнении примера будет создан новый источник, связанный с указанным файлом. Значения будут импортироваться с двух листов, начиная с указанных строк. Полученные данные будут выведены в консоль среды разработки.
См. также: