Что такое генератор отчетов?

Генераторами отчетов является MATLAB® объекты, которые генерируют отформатированное содержимое, когда добавлено к Объекту отчета MATLAB Report Generator™. MATLAB Report Generator обеспечивает генераторы отчетов для генерации общих компонентов отчета, таких как титульные листы, оглавления, главы, подразделы, фигуры и значения переменных MATLAB. Можно настроить содержимое и внешний вид этих генераторов отчетов. Можно также создать собственные генераторы отчетов. Для списка встроенных объектов API Отчета введите эту команду MATLAB:

help mlreportgen.report

Генераторы отчетов и объекты DOM

В дополнение к генераторам отчетов MATLAB Report Generator обеспечивает другой набор объектов для генерации содержимого отчета. Эти объекты являются объектами Объектной модели документа (DOM). Они реализуют модель документа, используемого HTML, Word и другим программным обеспечением создания документа. Модель задает документ как иерархию объектов, обычно находимых в документах, таких как текстовые строки, абзацы, изображения и таблицы. API DOM содержит программные объекты, которые генерируют эти объекты первичного документа. Для списка Объектов DOM введите эту команду MATLAB:

help mlreportgen.dom

Генераторы отчетов, в отличие от этого, создают высокоуровневые структуры документа, такие как титульные листы, оглавления и главы, которые происходят во многих, но не всех типах документов. Преимущество генераторов отчетов состоит в том, что один генератор отчетов может создать содержимое, которое потребовало бы многих Объектов DOM. Однако программа генератора отчетов обычно требует и DOM и объектов генератора отчетов. Например, генератор отчетов главы генерирует заголовок и макет страницы главы отчета, но не ее содержимое. API DOM предоставляет текст, абзац, таблицу, список, изображение и другие объекты, которые можно использовать, чтобы создать содержимое генератора отчетов.

Следующая программа MATLAB иллюстрирует использование и генераторы отчетов и Объекты DOM, чтобы создать отчет PDF. Программа использует Text DOM объект добавить блок текста к главе. Все другие объекты в этом примере (Report, TitlePage, TableOfContents, и Chapter) объекты генератора отчетов.

rpt = mlreportgen.report.Report('myreport','pdf');
append(rpt,mlreportgen.report.TitlePage('Title','My Report',...
   'Author','Myself'))
append(rpt,mlreportgen.report.TableOfContents)
ch = mlreportgen.report.Chapter('Title','Sample Text');
append(ch,mlreportgen.dom.Text...
   ('Here is sample text using a DOM Text object.'))
append(rpt,ch)
close(rpt)
rptview(rpt)

Title page of the report with the title "My Report", the author "Myself", and the date

Table of contents listing one chapter

Chapter one has the title "Sample Text" and the text, "here is sample text using a DOM Text object".

Элементы генератора отчетов

Генератор отчетов обычно включает следующие элементы:

  • Обработайте по шаблону документы, которые задают внешний вид, фиксированное содержимое и отверстия для динамического контента, сгенерированного генератором отчетов. Генератор отчетов обычно обеспечивает набор файлов шаблонов, один для каждого поддерживаемого выходного типа: Word, PDF и HTML. Каждый файл шаблона содержит библиотеку шаблонов, используемых генератором отчетов, чтобы отформатировать его содержимое. Например, API Отчета TitlePage генератор отчетов использует шаблон под названием TitlePage отформатировать титульный лист. TitlePage шаблон хранится в библиотеках шаблонов его файлов шаблона. Можно изменить этот шаблон, чтобы перестроить или добавить содержимое в титульный лист. Для получения информации смотрите Шаблоны.

  • Свойства, которые задают динамический контент, сгенерированный генератором отчетов. Эти свойства соответствуют отверстиям в шаблоне генератора отчетов. Генератор отчетов заполняет отверстия шаблона значениями соответствующих свойств.

  • Класс MATLAB, который задает свойства генератора отчетов и методы, которые вы используете, чтобы создать и управлять генератором отчетов. Имена классов генератора отчетов начинаются с префикса, mlreportgen.report. Например, генератором отчетов титульного листа является mlreportgen.report.TitlePage. Можно не использовать префикс в скрипте MATLAB или функционировать путем вставки этого оператора в начале скрипта или функции:

    import mlreportgen.report.*
    Аналогично, можно включать import mlreportgen.dom.* использовать короткие имена классов DOM.

  • Метод конструктора, который создает объект генератора отчетов как экземпляр класса генератора отчетов. Имя конструктора совпадает с именем класса.

  • Объект DOM, который содержит содержимое, сгенерированное отчетом. Этот объект упоминается как реализация генератора отчетов. Каждый генератор отчетов имеет getImpl метод, который создает объект реализации, который обычно является DocumentPart DOM объект.

Используя генераторы отчетов в программе MATLAB

Чтобы сгенерировать содержимое в программе отчета, выполните эти шаги:

Пример программы, описанный на этих шагах, создает простой документ, который включает только титульный лист. Однако шаги демонстрируют задачи создать полный отчет. Полную распечатку программ показывают после описаний шага.

Создайте объект отчета

Создайте Объект отчета (mlreportgen.report.Report) содержать содержимое, сгенерированное отчетом. Объект отчета использует Document DOM возразите, чтобы содержать содержимое, сгенерированное генераторами отчетов, добавленными к отчету. Этот код импортирует пакет API Отчета, который позволяет коду использовать короткие имена классов. Затем это создает объект отчета PDF (rpt).

import mlreportgen.report.*
rpt = Report('myReport','pdf');

Создайте экземпляр генератора отчетов

Создайте экземпляр класса генератора отчетов, то есть, инстанцируйте генератора отчетов, с помощью его конструктора. Конструктор может также установить свойства объекта генератора отчетов, который это создает. Например, этот код создает генератор отчетов титульного листа (tp) и устанавливает его Title и Author свойства.

tp = TitlePage('Title','My Report','Author','John Smith');

Установите свойства существующего генератора отчетов

Чтобы установить свойства генератора отчетов после, программа создала генератор отчетов, программа может использовать запись через точку MATLAB. Например, это кодовые наборы Subtitle и PubDate свойства TitlePage генератор отчетов (tp).

tp.Subtitle = 'on My Project';
tp.PubDate = date;

Добавьте генератор отчетов в отчет

Чтобы сгенерировать содержимое с помощью генератора отчетов, программа отчета должна добавить генератор отчетов в объект отчета, с помощью append метод объекта отчета. append метод работает путем вызова getImpl метод того генератора отчетов. getImpl метод создает реализацию генератора отчетов. Затем append метод добавляет реализацию в Document DOM объект, который служит реализацией объекта отчета. Можно также использовать append метод, чтобы добавить Объекты DOM в отчет. Вы не можете, однако, добавить другой Document DOM к отчету.

Например, этот код добавляет генератор отчетов титульного листа (tp) к отчету (rpt).

append(rpt,tp)

Закройте объект отчета

Когда программа отчета закончила добавлять содержимое в отчет, это должно закрыть отчет, с помощью close метод объекта отчета. Закрытие отчета пишет содержимое отчета в файл документа типа, такого как PDF, заданная конструктором объекта отчета.

close(rpt)

Этот код является полной программой для отчета, который включает только титульный лист.

import mlreportgen.report.*

rpt = Report('myReport','pdf');

tp = TitlePage('Title','My Report',...
    'Author','John Smith');
tp.Subtitle = 'on My Project';
tp.PubDate = date;

append(rpt,tp)
close(rpt)
rptview(rpt)

Report title page with the title "My Report on My Project", the author "John Smith", and the date

Смотрите также

| | |

Похожие темы