Topic: Экспорт Грида

Подскажите, как можно экспортировать грид (именно грид!) с результатами в FastReport
SQL-отчёт не проходит, так как грид формируется скриптом на основе другого грида, в который выводится запрос.
Ну или как вариант подойдёт экспорт в Exel, но мне нужно, чтобы в Exel можно было в заголовок добавить данные из DateTimPicker'ов и текстовку.

Re: Экспорт Грида

Непосредственно передать данные из грида в отчет нельзя.


Пожалуйста покажите, как именно скриптом формируется  грид на основе другого грида.

Dmitry.

Re: Экспорт Грида

netros wrote:

Подскажите, как можно экспортировать грид (именно грид!) с результатами в FastReport

Можно для этих целей использовать таблицу. С помощью скрипта на обработчике onClick() кнопки построения отчёта очистите таблицу, а затем  скопируйте в неё данные из грида. Если у вас многопользовательская программа, добавьте поле id_user, чтобы разделить отчёты по пользователям.

procedure form_btnReport_OnClick (Sender: TObject; var Cancel: boolean); 
var
  i: integer;
  c: integer;
begin
  SQLExecute('DELETE FROM tmp_report WHERE id_users = '+inttostr(idUser) );
  c := form.TableGrid.RowCount - 1;
  for i:=0 to c do
  begin
    SQLExecute('INSERT INTO tmp_report ( <список полей> ) VALUES (<список данных из грида>)');
  end;
end;
Визуальное программирование: блог и телеграм-канал.

Re: Экспорт Грида

k245, спасибо.
Я уже и сам подумывал о временной таблице.
Только вот как сделать, чтобы таблица была именно временной?
Пока приходится пристреливать DROP'ом...

Re: Экспорт Грида

netros wrote:

k245, спасибо.
Я уже и сам подумывал о временной таблице.
Только вот как сделать, чтобы таблица была именно временной?
Пока приходится пристреливать DROP'ом...

Ой, ну кому мешает полупустая таблица? smile

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

Визуальное программирование: блог и телеграм-канал.