Загрузка и сохранение отчета
Информация |
Файлы формата Stimulsoft MRT и MDC - это описание отчетов с разметкой XML или JSON. Вы можете использовать MRT и MDC файлы, созданные в других продуктах Stimulsoft.
|
Загрузка отчета
Отчет может храниться в виде шаблона отчета (MRT файл), либо в виде построенного отчета (MDC документ), предназначенного для последующего просмотра либо экспортирования. Для загрузки отчета при помощи PHP кода можно использовать один из перечисленных ниже методов у объекта StiReport. Каждый из методов принимает на вход имя файла отчета либо сам отчет в виде строки:
Наименование |
Описание |
loadFile($filePath, $load = false) |
Загружает шаблон отчета из MRT файла на стороне клиента, путь к которому указан в аргументах функции. Если параметр $load установлен в значение true, файл отчета будет загружен на стороне сервера и передан на сторону клиента в виде упакованной Base64 строки. |
load($data, $fileName = 'Report') |
Загружает шаблон отчета из XML или JSON строки и передает его на сторону клиента в виде упакованной Base64 строки. Параметр $fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
loadPacked($data, $fileName = 'Report') |
Загружает и передает на сторону клиента шаблон отчета в виде упакованной Base64 строки, заданной в параметре $data. Параметр $fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
loadDocumentFile($filePath, $load = false) |
Загружает построенный отчет из MDC файла на стороне клиента, путь к которому указан в параметрах функции. Если параметр $load установлен в значение true, файл документа будет загружен на стороне сервера и передан на сторону клиента в виде упакованной Base64 строки. |
loadDocument($data, $fileName = 'Report') |
Загружает построенный отчет из XML или JSON строки и передает его на сторону клиента в виде упакованной Base64 строки. Параметр $fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
loadPackedDocument($data, $fileName = 'Report') |
Загружает и передает на сторону клиента построенный отчет в виде упакованной Base64 строки, заданной в параметре $data. Параметр $fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета. |
Пример загрузки отчета из файла на стороне сервера из приватной директории и передача его на сторону клиента в виде упакованной строки для последующего построения:
index.php |
<?php use Stimulsoft\Report\StiReport;
$report = new StiReport(); $report->loadFile('reports/SimpleList.mrt', true); $report->render(); ?>
|
Сохранение отчета
В режиме построения отчета на стороне JavaScript клиента, генератор отчетов PHP на стороне сервера не имеет доступа к объекту отчета. В этом случае, для сохранения шаблона отчета или документа необходимо воспользоваться событиями и JavaScript функциями. Более подробно про это указано в разделе События генератора отчетов.
Пример сохранения построенного отчета в виде строки для последующего использования:
index.php |
<?php use Stimulsoft\Report\StiReport;
$report = new StiReport(); $report->onAfterRender = 'afterRender'; $report->loadFile('reports/SimpleList.mrt', true); $report->render(); ?>
...
<script> function afterRender(args) { let reportJson = args.report.saveDocumentToJsonString(); ... } </script>
|
Полный код примера доступен на GitHub.
В режиме построения отчета на стороне сервера, для сохранения отчета предназначен один из перечисленных ниже методов:
Наименование |
Описание |
saveDocument($filePath = null) |
Сохраняет построенный отчет в виде MDC файла, путь к которому указан в аргументах функции. Если параметр $filePath не указан, то вместо сохранения файла метод вернет отчет в виде JSON строки. |
savePackedDocument($filePath = null) |
Сохраняет построенный отчет в виде упакованного MDZ файла, путь к которому указан в аргументах функции. Если параметр $filePath не указан, то вместо сохранения файла метод вернет отчет в виде упакованной Base64 строки. |
Пример сохранения построенного отчета в виде файла на стороне сервера:
index.php |
<?php use Stimulsoft\Report\Enums\StiEngineType; use Stimulsoft\Report\StiReport;
$report = new StiReport(); $report->engine = StiEngineType::ServerNodeJS; $report->loadFile('reports/SimpleList.mrt', true); $report->render(); $report->saveDocument('reports/SimpleList.mdc'); ?>
|
Полный код примера доступен на GitHub.
Информация |
Генератор отчетов Stimulsoft Reports.PHP и аналитические панели Stimulsoft Dashboards.PHP основаны на платформе JavaScript, и поддерживают сохранение файлов MRT и MDC файлов только в JSON формат. Файлы в формате XML поддерживаются только в режиме загрузки, и при сохранении будут автоматически преобразованы в JSON формат.
Так как для аналитических панелей всегда нужны данные, они не могут быть сохранены в виде MDC документа. Stimulsoft Dashboards.PHP поддерживает сохранение панелей только в виде шаблона с использованием JavaScript события и функций.
При сохранении документа из меню вьювера, файл также сохраняется в JSON формате, и имеет расширение MDC для стандартного документа, MDZ для упакованного документа, MDX для зашифрованного документа.
|