Создание отчёта с использованием табличного процессора MS Excel.

Создание отчётов с использованием компонентов вкладки QReport.

Для добавления вкладки в Delphi 7 необходимо:

1) Пункт меню Component/Install_Packages

2) Нажать Add

3) Найти в папке Borland/Delphi7/Bin файл dclgrt70.bpl

Главным компонентом при построении отчёта является компонент QuickRep. Он обычно помещается на отдельную пустую форму и в этом случае, форма с отчётом открывается методом Preview или Print.

procedure tform1.button1click(…);

begin

form2.quickrep1.preview;

end;

Отчёт строиться из компонентов QRBand (полос). Содержимое полосы зависит от её свойства QRBandType. Это свойство может принимать такие значения:

1) rbTitle – заголовок отчёта

2) rbPageHeader - верхний колонтитул

3) rbDetail – данные из набора данных

4) rbPageFooter – нижний колонтитул

5) rbSummary – общие для отчёта итоговые данные

6) и другие

Набор данных на основе которого будет строиться отчёт задаётся в свойстве DataSet компонента QuickRep.

На полосах размещаются компоненты QRDBText (текстовое поле), QRLabel (надпись), QRImage (изображение), QRExpr

Компонент QRGroup используется для группировки информации. Его свойства Expression задаёт выражение для группировки.

При построении простого отчёта используется данные из одного набора данных. В этом случае в отчёте присутствует полоса rbDetail, которая повторяется в отчёте столько раз, сколько записей содержит набор данных.

При построении отчёта главный-детальный используются данные из двух наборов данных, связанных отношением один-ко-многим. В таком отчёте обязательно используется полоса QRSubDetail, которая автоматически повторяется столько раз, сколько записей содержит подчинённый набор данных.

Для экспорта отчёта в другой формат используют компоненты QRTextFilter, QRHTMLFilter. Эти компоненты необходимо поместить на отчёт, тогда при сохранении отчёта в раскрывающемся списке можно будет выбрать тип сохраняемого файла (по умолчанию *.qrp)

Для построения диаграмм отчёта используется компонент QRChart.

Создание отчётов с использованием генератора отчётов RaveReports

Генератор отчётов состоит из 3-х частей:

1) Ядро генератора отчётов - обеспечивает управление отчётом. При компиляции код ядра помещается в приложение делая его полностью автономным.

2) Визуальная среда разработки (конструктор) отчётов – позволяет создать проект отчётов (сохраняется в файле с расширением raw)

3) Компоненты вкладки Rave (Delphi7) – устанавливают соединение с источником данных, задают параметры отчёта и д.р.

Этапы создания отчётов:

1) Поместить на форму компонент RvDataSetConnection со страницы Rave. Связать его с набором данных (свойство DataSet)

2) Вызвать конструктор отчётов выбрав в Delphi пункт меню Tools/Rave/Designer

3) Спроектировать новый отчёт. Для этого в окне конструктора отчётов выбрать меню File/New_Data_Object. В появившемся окне выбрать продолжение Direct_Data_View. Затем выбрать RvDataSetConnection1

4) Вызвать мастера создания отчётов Tools/ReportWizards/Simple_Table

5) Задать при работе с мастером поля для отображения в отчёте, параметры страницы, заголовок отчёта и шрифты.

6) Сохранить проект отчёта в одной папке с приложением.

7) Для просмотра подготовленного отчёта выполнить команду File/Report_Execute

8) Поместить на форму компонент RvProject с вкладки Rave. В его свойстве ProjectFile указать имя файла проекта отчёта. (по умолчанию Project1.rav)

9) Прописать обработчик для кнопки отчёта.

procedure TForm1.Button1Click(…);
begin
RvProject1.Execute;
end;

Для экспорта отчёта в другие форматы используются компоненты RvRenderPDF, RvRenderTXT, RvRenderHTML, RvRenderRTF

Создание отчёта с использованием табличного процессора MS Excel.

Этапы подготовки отчёта:

1) В раздел Uses добавить модуль ComObj. Описать необходимые переменные;

Var Excel, WorkBook, Sheet: Variant
I : integer
begin

2) Проверить установлен ли Excel на компьютере пользователя. Проверить, запущен ли Excel. Если нет, то запустить его.

try //Подключение к уже запущенному
Excel := GetActiveOleObject(‘Excel.Application);
except
try //Запуск и подключение к нему
Excel := CreateOleObject(‘Excel.Application’);
except
ShowMessage(‘Ошибка доступа к Microsoft Excel (он не установлен!)’);
exit;
end;
end;

3) После подключения к Excel создать новую пустую рабочую книгу

WorkBook := Excel.WorkBooks.Add; //Создание книги
Sheet := WorkBook.Sheets[1]; // Отчёт будем создавать на первой странице

Если в качестве параметра метода Add указан файл с шаблоном рабочей книги, то новая книга будет создана на основе шаблона.
Например:

WorkBook := Excel.Workbooks.Add (OpenDialog.FileName);

4) Вывести все записи из выбранной таблицы БД на лист Excel. Для обращения к ячейке листа используется свойство Cells[Row,Col]. Нумерация начинается с 1.

Table1.First;
for i:= 1 to Table1.RecordCount do begin
Sheet.Cells[I,1] := Table1.FieldByName(‘Surname’).AsString;
Sheet.Cells[I,2] := Table1.FieldByName(‘Group’).AsString;
Sheet.Cells[I,3] := Table1.FieldByName(‘Year’).AsInteger;
Table1.Next;
end;

Способ через ‘While’:

Table1.First;
I := 1;
While not Table1.EOF do begin
Sheet.Cells[I,1]:= Table.Fields[0].AsString;
Sheet.Cell[I,2] := Table1.Fields[1].AsString;
Sheet.Cell[I,3] := Table1.Fields[1].AsInteger;
Table1.Next;
I := i+1;
end;

При выводе данных можно задать начертание, размер и цвет шрифта.
Например:

Sheet.Cells[1,1].Font.Italic := true; //курсив
Sheet.Cells[1,2].Font.Bold := true; //жирный
Sheet.Cells[1,3].Font.Size := 20; //размер шрифта

Для изменения цвета строки и столбца можно использовать:

Sheet.Row[строка].Font.Color := цвет; //строка
Sheet.Columns[столбец].Font.Color := clBlue; //столбец
Sheet.Cells[строка,столбец].Font.Color := цвет; //ячейка

5) После формирования рабочего листа вывести Excel на передний план:

Excel.Visible := True;
end;

Наши рекомендации