Информация

 

Файлы формата 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 для зашифрованного документа.