Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб.раб.12, 13, 14(лит-ра.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
627.71 Кб
Скачать

Объект Worksheet (ExcelWorksheet)

Объект Worksheet представляет собой конкретный рабочий лист. Все объекты Worksheet являются элементами коллекции Worksheets. В Delphi для работы с этим объектом используется специальный компонент TExcelWorksheet.

Работа с рабочими листами (как, впрочем, и с диаграммами) имеет одну особенность.

Как вы, наверное, заметили, свойство Items, используемое для доступа к элементам объекта Sheets, имеет тип IDispatch, а не Worksheet или Chart. Поэтому в данном случае для работы с элементами объекта Sheets в программе Delphi удобнее всего использовать следующий подход:

1. Поместить на форму компонент TExcelWorksheet и задать его опубликованному свойству ConnectKide значение ckAttachToInterface.

2. Для получения доступа к объекту Worksheet использовать метод ConnectTo компонента TExcelWorksheet.

Синтаксис метода ConnectTo компонента TExcelWorksheet имеет следующий вид:

procedure ConnectTo(svrIntf: _Worksheet);

В качестве параметра этому методу передается указатель на интерфейс _Worksheet сервера, с которым устанавливается соединение. Обратите внимание па то, что параметр svrlntf имеет тип _Worksheet, а не IDispatch. Однако благодаря тому, что интерфейс _Worksheet является наследником Idispatch, можно использовать оператор приведения типов as, который работает с интерфейсами точно так же, как и с классами.

ПРИМЕЧАНИЕ

___________________________________________________________________________

Метод ConnectTo можно использовать при работе с любыми объектами MS Office, имеющими соответствующие компоненты VCL, например, при использовании объекта TExcelWorkbook.

___________________________________________________________________________

Рассмотрим небольшой пример использования метода ConnectTo:

// Устанавливаем соединение с сервером Excel

ExcelApplicatlonl.Connect;

//Создаем новую рабочую книгу

ExcelApplicationl.Workbooks.Add(EmptyParam,0);

//Делаем окно Excel видимым

ExcelApplicatlonl.Visible[0]:=true:

// Подключаем компонент ExcelWorkbookl к активной рабочей книге

ExcelWorkbookl.ConnectTo(ExcelApplicationl.ActiveWorkbook);

// Создаем новый рабочий лист

ExcelWorkbookl.Worksheets.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam,0);

// Подключаем компонент ExcelWorksheetl к первому рабочему листу

index:=l:

ExcelWorksheetl.ConnectTo(ExcelWorkbookl.Worksheets.Item[index] as _Worksheet);

Нумерация рабочих листов в Excel ведется с 1.

Рассмотрим основные свойства объекта Worksheet:

  • Cells: Range — содержит все ячейки данного рабочего листа;

  • Columns: Range — содержит все колонки данного рабочего листа;

  • Rows: Range — содержит все строки данного рабочего листа;

  • Range[Cell1: OleVariant: Celll: OleVariant]: Range—является векторным и представляет ячейку или диапазон ячеек.

Из методов объекта Worksheet наиболее важным является метод Activate, который делает рабочий лист активным:

procedure Activate(Icid: integer)

Работа с ячейками

Основным объектом, используемым при работе с ячейками рабочего листа MS Excel, является объект Range. Этот объект позволяет изменять все основные атрибуты ячеек, включая граничные линии, шрифт, значения и формулы, а также выполнять ряд других операций.

Наиболее интересными для нас свойствами объекта Range являются те, что определяют содержимое ячейки. В первую очередь к ним относятся два следующих свойства:

  • Value: OleVariant —определяет содержимое ячейки. Если ячейка пустая, то данное свойство имеет значение EmptyParam. Может использоваться как для считывания значения из ячейки, так и для задания нового значения;

  • Formula: OleVariant — определяет формулу, по которой рассчитывается содержимое данной ячейки.

Объект Range обладает большим количеством методов, из которых мы коснемся наиболее важных:

  • function Delete(Shift: OleVariant): OleVariant—удаляет ячейки, определяемые данным объектом Range. Параметр Shift является необязательным и определяет способ сдвига ячеек в процессе замены удаленных ячеек. Он может принимать одно из двух значений: xlShiftToLeft или xlShiftUp;

  • function Insert (Shift: OleVariant): OleVariant — вставляет ячейку или диапазон ячеек в рабочий лист. Другие ячейки при этом сдвигаются одним из способов, который определяется аргументом Shift:

xlShiftToRight — ячейки сдвигаются вправо;

xlShiftDown — ячейки сдвигаются вниз;

  • function Select: OleVariant—выделяет ячейки, содержащиеся в данном диапазоне Range;

  • procedure Merge(Across: OleVariant) —объединяет все ячейки данного диапазона в одну. Параметр Across определяет способ объединения. Если он принимает значение true, то ячейки объединяются построчно, то есть каждая строка диапазона объединяется в одну ячейку; если же он равен false, то все ячейки диапазона объединяются в одну. Ячейка, получающаяся в результате объединения, будет содержать значение ячейки, расположенной в левом верхнем углу диапазона.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]