Глава 10. СОЗДАЕМ ОТЧЕТЫ 
Отчет о продажах - экспорт в Excel 
Мы с вами уже реализовывали экспорт в Excel, когда 
разрабатывали интерфейсы документов «Поступление на склад» и «
Продажа».  Поэтому мы не будем подробно останавливаться на всех 
деталях создания отчета. Создадим Excel-шаблон отчета, 
содержащий регион ячеек для тиражирования range1. 
 
 
 
Диапазон дат (период) будем выводить в отчет через 
параметры DATE1 и DATE2. 
Добавим к форме SaleReportForm компонент XLReport  спалитры Print, подключим 
его с помощью свойства DataSources к компоненту запроса qryReport, 
псевдоним Alias  = REPORT, Range= range1. 
Назначим компоненту XLReport1 обработчик события OnProgress: 
procedure TSaleReportForm.xlReport1Progress(Report: TxlReport; const Position, Max: Integer);
begin
  if Position = 0 then
    StatusBarDisplay(clBlack, Position, 0, Max, '', '', '')
  else
    StatusBarDisplay(clLime, Position, 0, Max, '', 'Экспорт в Excel...', '');
end;
Добавим на правую панель ниже кнопки «Запрос» кнопку 
BitBtn с палитры Additional. 
Придадим этой кнопке в Инспекторе объектов свойства: 
 
  
    | Свойство | 
    Значение | 
   
  
    | Name | 
    btnExport | 
   
  
    | Caption | 
    Экспорт | 
   
 
 
Дважды щелкнем на свойстве Glyph для того, чтобы вызвать 
редактор рисунка: 
 
 
 
Загрузим значок Excel из файла формата bmp 16x16 пиксель. 
Нажмем кнопку OK. 
Создадим у кнопки обработчик события OnClick: 
procedure TSaleReportForm.btnExcelClick(Sender: TObject);
begin
  XLReport1.ParamByName('DATE1').Value := DateEdit1.Date;
  XLReport1.ParamByName('DATE2').Value := DateEdit2.Date;
  XLReport1.Report;
end;
Запустим проект sale_report. Нажмем кнопку «Запрос
», затем кнопку «Экспорт». Появится Excel. Вызовем 
«Предварительный просмотр»: 
 
 
 
Закроем Excel. Выйдем из режима «Дизайнер». 
Мы закончили «Отчет о продажах». Приведем полный листинг 
проекта. Как видим, он совсем небольшой. 
 
 
               |