Загрузка и сохранение отчета
Информация |
Файл формата Stimulsoft MRT - это описание отчетов с разметкой XML или JSON. Вы можете использовать MRT-файлы, созданные в других дизайнерах Stimulsoft.
|
Для загрузки отчета при помощи Python кода можно использовать одну из перечисленных ниже функций у объекта StiReport. Каждая из функций принимает на вход имя файла отчета либо сам отчет в виде строки:
Наименование |
Описание |
loadFile(filePath: str, load: bool = False) |
Загружает отчет из MRT файла на стороне клиента, путь к которому указан в аргументах функции. Если параметр load установлен в значение True, файл отчета будет загружен на стороне сервера и передан на сторону клиента в виде упакованной Base64 строки. |
load(data: str, fileName: str = 'Report') |
Загружает отчет из XML или JSON строки и передает его на сторону клиента в виде упакованной Base64 строки. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
loadPacked(data: str, fileName: str = 'Report') |
Передает на сторону клиента отчет в виде упакованной Base64 строки, заданной в параметре data. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
Например, требуется загрузить отчет из файла на стороне сервера из приватной директории и передать его на сторону клиента:
app.py |
from stimulsoft_reports.report import StiReport
report = StiReport() report.loadFile(url_for('private', filename='reports/SimpleList.mrt'), True) report.render()
|
Так как генератор отчетов для Python основан на JavaScript платформе и выполняет построение и экспорт отчета на стороне клиента, то для сохранения шаблона отчета или документа необходимо воспользоваться событиями и JavaScript функциями. Более подробно про это указано в разделе События генератора отчетов. Пример сохранения построенного отчета в виде строки может быть реализован таким способом:
app.py |
from stimulsoft_reports.report import StiReport
report = StiReport() report.onAfterRender += 'afterRender' report.loadFile(url_for('private', filename='reports/SimpleList.mrt'), True) report.render()
|
report.html |
<script> function afterRender(args) { let json = args.report.saveDocumentToJsonString(); } </script>
|
Информация |
Генератор отчетов Stimulsoft Reports.PYTHON и аналитические панели Stimulsoft Dashboards.PYTHON поддерживают сохранение файлов MRT только в JSON формат. MRT-файлы в формате XML поддерживаются только в режиме загрузки, и при сохранении будут автоматически преобразованы в JSON формат.
|
Загрузка и сохранение документов (построенных отчетов)
Построенный отчет можно сохранить в виде документа в JSON формате для последующего просмотра либо экспортирования. Такой документ содержит построенные страницы отчета, но не содержит исходных данных и не сохраняет подключение к ним.
Для загрузки документа при помощи Python кода можно использовать одну из перечисленных ниже функций у объекта StiReport. Каждая из функций принимает на вход имя файла документа либо сам документ в виде строки:
Наименование |
Описание |
loadDocumentFile(filePath: str, load: bool = False) |
Загружает документ из MDC файла на стороне клиента, путь к которому указан в параметрах функции. Если параметр load установлен в значение True, файл документа будет загружен на стороне сервера и передан на сторону клиента в виде упакованной Base64 строки. |
loadDocument(data: str, fileName: str = 'Report') |
Загружает документ из XML или JSON строки и передает его на сторону клиента в виде упакованной Base64 строки. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
loadPackedDocument(data: str, fileName: str = 'Report') |
Передает на сторону клиента документ в виде упакованной Base64 строки, заданной в параметре data. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
Например, требуется загрузить документ из файла и выполнить его экспортирование:
app.py |
from stimulsoft_reports.report import StiReport
report = StiReport() report.loadDocumentFile(url_for('static', filename='reports/SimpleList.mdc')) report.exportDocument(StiExportFormat.HTML)
|
Информация |
Так как для аналитических панелей всегда нужны данные, они не могут быть сохранены в виде документа. Stimulsoft Dashboards.PYTHON поддерживает сохранение панелей только в виде шаблона.
|
Информация |
При сохранении документа из меню вьювера, файл также сохраняется в JSON формате, и имеет расширение MDC для стандартного документа, MDZ для упакованного документа, MDX для зашифрованного документа.
|