Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

QuickReport: Сохранение отчета в файл (TXT,HTML,DOC,.....) [D5, D6]


MaxSit ©   (2002-02-07 12:12:00) 

Существует проект, где все отчеты в QR(есть свой Preview). Потребовался экспорт отчетов в TXT,WORD,EXCEL,HTML.
1.)Перейти на другой репогенератор просто невозможно: проект огромен.
2.)Стандартные методы не подходят, ну очень криво работают.
Может кто подскажет выход: библиотеки или мыслишки по поводу экспорта.

PS: Нашел пакетик: PsQRFilter (TPsQRExport). Но он триальный, хотя работает просто СУПЕР.


a1st   (2002-02-08 11:29:00) [1]

Недавно обсуждали этот вопрос по фильтрам. Вот еще адресок, дешевле, чем PsQRFilter - http://www.waler.com/textrafilters.htm- 25$. Проверено, работает.
Предлагают также технологию "От Ворда", т.е. разработка word template и использование его в qreport (EkRtf) - http://gpb.skiftel.ru/ec(29$). Есть также fastreport -
http://www.fastreport.ru/(19$ для ex-USSR) + converter qreport -> fastreport (30$)
http://www.automa.com.br/delphi/qr2fr.htm.Но бесплатно никто не дает.
* Диагноз: острая хроническая финансовая недостаточность


IronHawk   (2002-02-08 11:24:00) [2]

>>> 22606 ©

ЭТО УЖЕ БЛИЖЕ К ТЕЛУ
(как говори Мопасан).

.... СПАСИБО !


22606   (2002-02-08 11:07:00) [3]

Как правильно написал Johnmen © (07.02.02 17:08)
дейстительно, dbf нужно создавать не по отчету, а по набору данных, с ним связанному (QReport.DataSet)

Самый простой (но не самый эффектный) способ загнать DataSet (связанный с отчетом) в dbf - это посредством TBatchMove

Вот процедурка для этого


procedure DatToDbf(const TableFileName : string; DaT : TDataSet);
var
Table : TTable;
BM : TBatchMove;
begin
Table := TTable.Create(nil);
try
Table.TableType := ttFoxPro;
Table.DatabaseName := ExtractFileDir(TableFileName);
Table.TableName := ExtractFileName(TableFileName);
BM := TBatchMove.Create(nil);
try
BM.Mode := batCopy;
BM.Source := (Dat as TBDEDataSet);
BM.Destination := Table;
BM.Transliterate := True;
BM.Execute;
finally
BM.Free;
end;
finally
Table.Free;
end;
end;


Опции BMможете изменить по своему вкусу
Для этого примера обязательно наличие на машине BDE.
Кодировка получившегося DBF будет зависеть от настройки BDE для DBF-файлов.

Что касается вопроса по QR и записи в разные форматы, то стандартные фильтры действительно очень кривые.
Я встречал очень простой и интересный способ сохранить отчет в DOC файл - это записать его как картинку, а потом вставить картинку в DOC. Но этот метод хорош только для того, чтобы передать документ кому-то или сохранить его для последующей печати, но не редактировать. Если Вас действительно устраивает найденный PsQRFilter (TPsQRExport), попробуйте найти на него ключик или еще проще купить :-) (если действительно проект того стоит).


IronHawk   (2002-02-08 10:33:00) [4]

>>> Johnmen ©
Так кто-то такое делал я помню !
НО вот КАК ????


Johnmen   (2002-02-07 18:28:00) [5]

>IronHawk © : Не мучай себя, не думаю, что кто-то сможет конкретно(в твоем понимании) помочь :(


IronHawk   (2002-02-07 18:17:00) [6]

>>> Johnmen ©
OK!
напиши какие знаешь компоненты которые это реально делают ...
я из них код СЫМУ !
КТО ЗНАЕТ КАК ЕТО РЕАЛИЗОВАТЬ ?????????
ПАМАГИТЕ !


Johnmen   (2002-02-07 17:46:00) [7]

>IronHawk © : зря ты меня заранее благодаришь,
поскольку реальный код не выкачу...:(...То, что я говорил - это на уровне идеи...На реализацию которой нет времени, совсем нет.


IronHawk   (2002-02-07 17:37:00) [8]

>>> MaxSit ©
XLReport 4.0 банер смотри !

>>>Johnmen ©
Опиши, как реально (кодом), хоть приблизительно, ЭТО РЕАЛИЗОВАТЬ
в *.dbf !!!

... заранее благодарен !


MaxSit   (2002-02-07 17:33:00) [9]

В догонку...>
Отчеты бывают самые разные, с группировкой, суммарные какие-нибудь поля и прочие украшательства. Красиво самому расставить: писать компонент, на который времени нет. Может кто в инете видел что-то подобное.


Johnmen   (2002-02-07 17:08:00) [10]

Ничего лучше, чем по "SAVE" в run-time создать dbf и слить в него
QReport.DataSet (а если Master-Detail, то соответственно),
я предложить не могу ...(а кто сможет !?)


IronHawk   (2002-02-07 17:05:00) [11]

>>> Johnmen ©
>Погоди-погоди, сохранить во время просмотра или до, или после ?
>Еще - пользуешь стандартный Preview ?

Да, в стандартном превью чтоб мог сохранить в формате *.dbf
ВО ВРЕМЯ ПРОСМОТРА !


MaxSit   (2002-02-07 16:54:00) [12]

Уточняю:
У меня есть свой Preview, там же есть кнопочка "SAVE". Мне надо, чтобы юзвер сам выбрал формат файла и в него сохранил. Совет, типа, загони в DBF или т.п. не канает, т.к. отчетов около 600, практически все готовятся динамически, изменить - это год потратить (ну это я ломанул). Фильтр QR не советуйте, если хоть раз пробовали им пользоваться (чисто шара).


Johnmen   (2002-02-07 16:05:00) [13]

Погоди-погоди, сохранить во время просмотра или до, или после ?
Еще - пользуешь стандартный Preview ?


IronHawk   (2002-02-07 15:49:00) [14]

>>> Johnmen ©
А смысл !

Мне надо чтоб я мог QuickRep.Preview сохранить данные из него
в файле *.dbf (или *.db).

По типу QRTextFilter только для DBF !


Johnmen   (2002-02-07 15:36:00) [15]

1. создаешь нужный dbf
2. пишешь в него, что надо


IronHawk   (2002-02-07 15:26:00) [16]

>>> Johnmen ©
подробнее ПЛЗ !


Johnmen   (2002-02-07 14:33:00) [17]

>IronHawk © : м.б. проще ручками из НД , на который репорт,
загнать в ..... (нет, не туда, а в *.dbf *.db) ;o))


IronHawk   (2002-02-07 14:19:00) [18]

>>> MaxSit ©
Я тоже ищу Subj но в *.dbf *.db ....
найдё скажешь !


Johnmen   (2002-02-07 14:16:00) [19]

фильтры для TXT и HTML есть в QR...


MaxSit   (2002-02-07 13:16:00) [20]

Ну что, хоть кто-то скажет свое веское словцо?


Наверх

Титульная страница Поиск, карта сайта Написать письмо