Выгрузка отчета в RTF

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
tda
незнакомец
Сообщения: 5
Зарегистрирован: 22.09.2017 10:02:07

Выгрузка отчета в RTF

Сообщение tda »

Добрый день.

Как выгрузить отчет TfrReport в rtf файл. Или какой-нибудь другой формат. Например pdf.
Аватара пользователя
serbod
постоялец
Сообщения: 449
Зарегистрирован: 16.09.2016 10:03:02
Откуда: Минск
Контактная информация:

Сообщение serbod »

Для начала, нужно подключить пакеты (packages) lr_pdfexport и lr_extexp и пересобрать lazarus. Для lr_pdfexport возможно потребуется скачать и установить дополнительные пакеты, которых нет в стандартной поставке.

На вкладке LazReport появятся компоненты для экспорта в PDF и HTML (с таблицами). Если добавить их на форму или датамодуль отчета, то при экспорте отчета будут доступны новые форматы.

Насчет RTF не знаю, он вроде был встроен в FastReport v2.3 на очень примитивном уровне (только текст), а в LazReport его выпилили.
tda
незнакомец
Сообщения: 5
Зарегистрирован: 22.09.2017 10:02:07

Сообщение tda »

Спасибо. А что в коде писать. Есть у TfrReport метод ExportTo, но как его использовать - я не пойму.

Такой вариант

Код: Выделить всё

frReport1.ExportTo(frHtmlDivExport1,'export.html');
компилятор не пропускает, поскольку для первой переменной требуется тип TfrExportFilterClass.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Два метода выгрузки
1.ручной - пользователь в предпросмотре сам выбирает доступный формат, в котором сохранится отчёт
2.из кода - frMainReport.ExportTo(TlrSpreadSheetExportFilter, 'test.ods');
В качестве параметра идёт тип экспортного фильтра
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Мой выбор.
Цепляю прекрасную библиотеку для работы с офисными пакетами - OpenOffice (http://yuri.elmeh.ru). Она для Дельфи, но под Лазарус переписывается в лёгкую.
Используя этот пакет (У меня офис - LibreOffice, можно иной офис иметь), записываю (читаю) файлы нужных мне форматов.

1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
tda
незнакомец
Сообщения: 5
Зарегистрирован: 22.09.2017 10:02:07

Сообщение tda »

Спасибо. Понял. Нужно поместить на форму компонент экспорта (например TfrHtmlDivExport).
А в процедуру ExportTo в качестве параметра вставить название типа компонента с добавлением окончания Filter

Код: Выделить всё

frReport1.ExportTo(TfrHtmlDivExportFilter,'export.html');
Ответить