Вьювер позволяет экспортировать отображаемый отчет либо дашборд в различные форматы. Для работы экспорта не требуется дополнительных настроек вьювера. В таблице ниже перечислены все доступные форматы экспорта для отчетов и дашбордов:

 

Формат экспорта

Отчеты

Дашборды

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() у объекта отчета. Подробное описание находится в разделе Экспортирование отчета из кода.