Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

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


MaxSit   (2002-02-07 12:12) [0]

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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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

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

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



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

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



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

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



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

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

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



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

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



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

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



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

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

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

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



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

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



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

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



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

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



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

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



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

Как правильно написал 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 11:24) [19]

>>> 22606 ©

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

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



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

Недавно обсуждали этот вопрос по фильтрам. Вот еще адресок, дешевле, чем 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. Но бесплатно никто не дает.
* Диагноз: острая хроническая финансовая недостаточность




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.75 MB
Время: 0.028 c
7-79478           miDDTrich             2001-11-20 14:01  2002.02.25  
Где в win2000 прописать размер environment?


1-79320           MystiX                2002-02-07 20:20  2002.02.25  
Help!!!


1-79378           tovSuhov              2002-02-08 16:36  2002.02.25  
ProgressBar в StatusBar`е...


1-79376           Batiskaf              2002-02-07 13:52  2002.02.25  
Form Designer without Delphi


1-79315           shelest               2002-02-06 12:20  2002.02.25  
Delphi и Informix