Суббота, 20.04.2024, 13:17
Приветствую Вас Гость | RSS

DELPHI Report

Каталог статей Delphi Report

Главная » Статьи » Создание отчетов. Rave Reports

Создание и экспорт отчета Rave в файл (.html,.rtf,.pdf,.txt)

Созданные отчеты Rave можно сохранять в удобном формате. Это позволяет экспортировать и открывать их из других программ (Adobe Reader, Internet Explorer, MS Word...) и в случае форматов .rtf и .txt редактировать.  В статье рассмотрен пример создания простого отчета с последующим сохранением в файл. Текст программы примера можно скачать.


Для начала создадим новый проект. Скинем на форму Ttable, TDataSource, TDbGrid. Свяжем их с таблицей Animals.dbf Создаваемый отчет будет содержать информацию из таблицы Table1.


Для работы с Rave необходимо перенести на форму следующие компоненты :
для вывода и печати отчета TRvProject; TRvDataSetConnection;

для печати отчета в другие форматы: TRvNDRWriter;

TRvRenderText;TRvRenderRTF;TRvRenderHTML; TRvRenderPDF;

Печать отчета и сохранение в отдельный файл будем осуществлять при нажатии на соответствующую кнопку. В результате полученная форма будет выглядеть так:


Теперь присвоим RvDataSetConnection1 свойство Dataset  значение table1. Таким образом в Rave будут передаваться данные из Table1.

 

Далее рассмотрим быстрый способ создания отчета. Переходим в Rave Designer (Toolsà Rave Designer).

Автоматически будет создан новый проект. Свяжем проект с Table1 через RvDatasetConnection1. Для этого нажмите кнопку New Data Object и выберите Direct Data View


  Нажимаем Next и  в появившемся окне должны быть отражены все активные Rave соединения. В нашем случае это будет выглядеть так 

 

После нажатия Finish справа в Rave Designer в Data View Dictionary появится Dataview1, раскрыв который можно увидеть поля Table1.

 

Теперь создадим быстро простой отчет. Для этого воспользуемся ToolsàReport WizardsàSimple Table. Выберим Dataview1, выделим все поля и завершим создание. После небольшой корректировки полученный лист отчета будет выглядеть следующим образом


В верхнем поле (TitleBand) заголовок страницы, ниже заголовки колонок и в последней помещаются DataText Component, которые будут принимать значения соответвующего поля (колонки).

Загляните в Report Library (справа)  и посмортите, что бы имя текущего листа отчета было Report1. Сохраним полученный проект в папку с проектом Delphi. Получится файл Project1.rav.

 

Теперь вернемся к нашему проекту в Delphi и напишем обработчик события для кнопки печать отчета. Соединим RvProject1 с полученным файлом Project1.rav. Можно сделать это программно. И далее запустим наш отчет.

 

procedure TForm1.Button2Click(Sender: TObject);

begin

RvProject1.SetProjectFile(ExtractFilePath(Application.ExeName)+'Project1.rav');

RvProject1.ExecuteReport('Report1');

RvProject1.Close;

end;

 

Теперь в результате нажатия на кнопу мы увидем диалоговое окно, в котором можно выбрать печатать отчет на принтере, посмотреть перед печатью или сохранить в файл.


Уже сейчас можно выбрать и сохранить в файл в удобном для нас формате.

 

Далее рассмотрим как сделать это напрямую без диалогового окна через программный код:

 

procedure TForm1.Button1Click(Sender: TObject);

var

  NdrStream: TMemoryStream;

  OutStream: TMemoryStream;

  name:string;

begin

  NdrStream := TMemoryStream.Create;

  OutStream := TMemoryStream.Create;

  RvProject1.Close;

  RvProject1.SetProjectFile(ExtractFilePath(Application.ExeName)+'Project1.rav');

  RvProject1.SelectReport('Report1',true);

  try

    RvNDRWriter1.StreamMode := smUser;

    RvNDRWriter1.Stream := NdrStream;

    RvProject1.Engine := RvNDRWriter1;

    RvProject1.Execute;

    name:='Report1';

    RvRenderText1.PrintRender(NdrStream,name+'.txt');

    RvRenderRTF1.PrintRender(NdrStream,name+'.rtf');

    RvRenderHTML1.PrintRender(NdrStream,name+'.html');

    RvRenderPDF1.PrintRender(NdrStream,name+'.pdf');

  finally

    FreeAndNil(NdrStream);

    FreeAndNil(OutStream);

  end;

  RvProject1.Close;

end;

 

В результате нажатия на кнопку будут созданы 4 файла в папке с программой: Report1.txt, Report1.rtf, Report1.html, Report1.pdf.

Скачать пример

Категория: Создание отчетов. Rave Reports | Добавил: delphi (06.11.2008) | Автор: MeL
Просмотров: 30966 | Рейтинг: 3.9/12
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Google
Форма входа
Категории раздела
Общие вопросы [3] Среда Delphi [1]
Создание отчетов. Rave Reports [6] - Delphi DLL [9]
- Работа с реестром [5] Внешний вид программы [9]
Прикладные программы [1]
Здесь будут размещаться программы, файлы и по возможности описание программ прикладного характера
MS Office (MS Word, MS Excel ) [40]
Aвтоматизация отчетов с помощью средств MS Office (Word, Excel)
Построение графиков TChart, TDBChar [10] Matlab [3]
Здесь будут представлены примеры и статьи решения математических задач в среде матричных вычислений Matlab
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2024