Экспорт отчета
Вьювер позволяет экспортировать отображаемый отчет либо дашборд в различные форматы. Для работы экспорта не требуется дополнительных настроек вьювера. В таблице ниже перечислены все доступные форматы экспорта для отчетов и дашбордов:
Формат экспорта |
Отчеты |
Дашборды |
Document (Snapshot) |
+ |
+ |
Adobe PDF |
+ |
+ |
XPS (XML Paper Specification) |
+ |
- |
Microsoft PowerPoint |
+ |
- |
HTML |
+ |
+ |
HTML5 |
+ |
- |
Text |
+ |
- |
Microsoft Word |
+ |
- |
Microsoft Excel |
+ |
+ |
OpenDocument Writer |
+ |
- |
OpenDocument Calc |
+ |
- |
RTF (Rich Text Format) |
+ |
- |
Формат данных |
Отчеты |
Дашборды |
CSV (Comma Separated Value) |
+ |
+ |
JSON (JavaScript Object Notation) |
+ |
+ |
XML (Extensible Markup Language) |
+ |
+ |
DBF (dBase/FoxPro) |
+ |
+ |
DIF |
+ |
+ |
SYLK (Symbolic Link) |
+ |
+ |
Формат изображения |
Отчеты |
Дашборды |
PNG (Portable Network Graphics) |
+ |
+ |
JPEG (Joint Photographic Experts Group) |
+ |
+ |
GIF (Graphics Interchange) |
+ |
+ |
TIFF (Tagged Image File Format) |
+ |
+ |
SVG (Scalable Vector Graphics) |
+ |
+ |
SVGZ (Compressed SVG) |
+ |
+ |
PCX (Picture Exchange) |
+ |
+ |
BMP (Windows Bitmap) |
+ |
+ |
При необходимости выполнения каких-либо действий перед экспортированием отчета, предназначено событие onBeginExportReport. Событие будет вызвано после отображения диалогового окна экспорта с настройками. В аргументах события будут переданы тип экспорта отчета, сам отчет, а также все настройки выбранного экспорта. Допускается изменение отчета либо его параметров, настроек экспорта и название файла.
app.py |
from stimulsoft_reports.report.enums import StiExportFormat from stimulsoft_reports.viewer import StiViewer from stimulsoft_reports.events import StiExportEventArgs from stimulsoft_reports.export import StiPdfExportSettings
def beginExportReport(args: StiExportEventArgs): if args.format == StiExportFormat.PDF: settings: StiPdfExportSettings = args.settings settings.imageQuality = 0.90 settings.imageResolution = 200
viewer = StiViewer() viewer.onBeginExportReport += beginExportReport viewer.onBeginExportReport += 'beginExportReport'
|
viewer.html |
<script> function beginExportReport(args) { if (args.format == Stimulsoft.Report.StiExportFormat.Pdf) { args.settings.imageQuality = 0.90; args.settings.imageResolution = 200; } } </script>
|
Подробное описание доступных значений аргументов находится в разделе События вьювера.
При необходимости выполнения каких-либо действий после экспортирования отчета перед его сохранением, предназначено событие onEndExportReport. В аргументах события будут переданы тип экспорта отчета, а также имя и байтовые данные экспортированного файла. Допускается изменение имени и байтовых данных экспортированного файла.
app.py |
from stimulsoft_reports.report.enums import StiExportFormat from stimulsoft_reports.viewer import StiViewer from stimulsoft_reports.events import StiExportEventArgs
def endExportReport(args: StiExportEventArgs): if args.format == StiExportFormat.HTML: htmlText = args.data
viewer = StiViewer() viewer.onEndExportReport += endExportReport viewer.onEndExportReport += 'endExportReport'
|
viewer.html |
<script> function endExportReport(args) { if (args.format == Stimulsoft.Report.StiExportFormat.Html) { htmlText = args.data } } </script>
|
Подробное описание доступных значений аргументов находится в разделе События вьювера.
Иногда требуется отключить неиспользуемые форматы экспорта отчета, и оставить только нужные. Это позволяет разгрузить интерфейс и упростить использование вьювера. Для отключения неиспользуемых форматов экспортов достаточно установить значение False для соответствующих свойств вьювера, например:
app.py |
from stimulsoft_reports.viewer import StiViewer
viewer = StiViewer() viewer.options.exports.showExportToDocument = False viewer.options.exports.showExportToWord = False viewer.options.exports.showExportToCsv = False
|
Также, при необходимости, можно полностью убрать отображение диалоговых окон экспорта, экспортирование всегда будет осуществляться с настройками по умолчанию. В этом случае, настройками можно управлять в событии экспорта. Для отключения диалоговых окон достаточно установить значение False для свойства showExportDialog:
app.py |
from stimulsoft_reports.viewer import StiViewer
viewer = StiViewer() viewer.options.exports.showExportDialog = False
|
Полный список доступных опций находится в разделе Настройка вьювера.
Экспортирование отчета из кода
Также доступен экспорт отчета при помощи кода. Для этого предназначен специальный метод exportDocument() у объекта отчета. Подробное описание находится в разделе Экспортирование отчета из кода.