Вывод отчета на страницу книги Microsoft Excel

Если на компьютере установлена программа Microsoft Excel, то отчет может быть легко выведен в окно этой программы.

Положите на форму кнопку и дайте ее свойству Caption значение Вывод отчета в Excel. Ниже положите 3 метки Label и дайте им имена TitleFont, HeaderFont, DataFont. Первый из них потребуется для задания шрифта заголовка отчета, второй - шрифта наименований колонок, третий - шрифта данных таблицы. Установите в них желаемые параметры свойства Font.

Рядом с ними положите два компонента CheckBox (закладка Standard) и дайте им имена Framed и OutDataTime, соответственно. Если в первом из них установлена галочка (свойство Checked), то в отчете данные будут окаймлены рамками. Если во втором будет установлена галочка, то после вывода данных будет указано время создания отчета.

Новый вид формы показан на рис. 7.13.

Рис. 7.13. Форма с элементами создания отчета в Microsoft Excel

Необходимый программный код для работы в Delphi с программой Excel находится в файле KdnExcel. pas, который лежит в папке KdnLib (код разработан автором этого методического материала). Включите KdnExcel в список uses, который содержится в верхней части текста модуля QueryRep. Теперь разрабатываемая программа будет видеть код файла KdnExcel. pas.

Нам потребуется из этого файла одна процедура. Она имеет имя OutReportToExcel (вывести отчет в Excel). Ее заголовок имеет следующий вид

procedure OutReportToExcel (Title: String;
DataSet: TDataSet;
TitleFont,
HeaderFont,DataFont: TFont;
Framed,OutDataTime: boolean);

Здесь

Title - строка заголовка отчета,
DataSet - множество данных для вывода в отчет,
TitleFont - шрифт заголовка отчета,
HeaderFont - шрифт заголовков колонок,
DataFont - шрифт данных,
Framed - следует ли заключать данные в рамки,
OutDataTime: - следует ли выводить время создания отчета.

Создайте для новой кнопки событие OnClick и вставьте в него оператор запуска процедуры вывода отчета в Excel

procedure TfQueryRep.bOutToExcelClick(Sender: TObject);
begin
// если Excel открыт, то закрываем, иначе открываем его и выводим отчет
if ExApp <> Nil then ExcelClose (0) else
// вывод таблицы в Excel
OutReportToExcel ('Пример отчета по запросу',
QuRep, // таблица для вывода в Excel
TitleFont.Font, // шрифт заголовка
HeaderFont.Font, // шрифт заголовков стобцов
DataFont.Font, // шрифт данных
Framed.Checked, // заключать данные в рамки
OutDataTime.Checked // выводить время создания отчета
);
end;

При щелчке на кнопке код работает следующим образом: если окно Excel активно, то оно будет закрыто. Если же оно закрыто, то произойдет вызов процедуры OutReportToExcel с указанными параметрами (назначение каждого параметра содержится в соответствующем комментарии).

Запустите программу, создайте запрос, затем щелкните на новой кнопке. Программа вызовет Excel и выведет туда отчет. Примеры таких отчетов приведены на рис. 7.14. и 7.15.

Рис. 7.14. Фрагмент окно Microsoft Excel после вывода в него отчета по запросу Рис. 7.15. Фрагмент окна Microsoft Excel с выведенным в него отчетом. Данные заключены в рамки

Полный программный код модуля QueryRep. pas можно найти здесь.

unit QueryRep;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: