主要内容

本页采用了机器翻译。点击此处可查看英文原文。

mlreportgen.report.BaseTable 类

命名空间: mlreportgen.report
超类: mlreportgen.report.Reporter

创建表报告器

描述

使用 mlreportgen.report.BaseTable 类的对象为具有标题的表创建报告器。

mlreportgen.report.BaseTable 类是一个 handle 类。

类属性

HandleCompatible
true

创建对象

描述

table = mlreportgen.report.BaseTable 创建一个空表报告器。使用报告器属性指定表内容、标题、样式和宽度。

table = mlreportgen.report.BaseTable(content) 创建一个表报告器并将 Content 属性设置为 content

示例

table = mlreportgen.report.BaseTable(Name=Value) 使用名称-值参量设置属性。您可以按任意顺序指定多个名称-值参量。

属性

全部展开

表标题,指定为以下值之一:

  • 字符向量或字符串标量

  • DOM 元素对象

  • NN×1 字符串或 DOM 元素对象数组

  • 由字符串、字符向量或 DOM 元素对象组成的 1×NN×1 元胞数组

  • getTitleReporter 方法返回的空位报告器

  • 字符向量或字符串标量

  • 内联 DOM 对象,例如 mlreportgen.dom.Text 对象

  • NN×1 字符串标量或内联 DOM 对象数组

  • NN×1 元胞数组,包含字符串、字符向量或内联 DOM 对象的任意组合

  • getTitleReporter 方法返回的 mlreportgen.report.Title 对象

如果标题值是内联内容,即包含在段落中的内容,表报告器将使用存储在其模板库中的模板来格式化标题。模板使用取决于表是位于编号章节还是未编号章节的格式自动对表标题进行编号。

  • 编号章节中的表具有标题文本前缀,形式为“表 N.M”,其中 N 是章节编号,M 是章节中的表编号。例如,报告第二章第三个表的前缀是表 2.3。

  • 未编号章节中的表具有“表 N”形式的标题文本前缀,其中 N 表示报告中第一个表的 1,表示第二个表的 2,依此类推。

在许多非英语地区,标题前缀会被翻译为该地区的语言和格式。请参阅 mlreportgen.report.ReportLocale 属性以获取翻译语言环境的列表。

属性:

GetAccess
public
SetAccess
public

数据类型: char | string

表内容,指定为以下值之一:

  • mlreportgen.dom.Table 对象

  • mlreportgen.dom.FormalTable 对象

  • mlreportgen.dom.MATLABTable 对象

  • DOM 或内置 MATLAB® 对象的二维数组或元胞数组

  • getContentReporter 方法返回的空位报告器

使用 BaseTable 构造函数或 add 方法来设置此属性。您不能直接设置它。

属性:

GetAccess
public
SetAccess
public

应用于表的样式的名称,指定为字符向量或字符串标量。指定的样式必须是将此表追加到的报告所使用的模板中定义的表样式,或者添加到报告的报告器的模板中定义的表样式。

如果 TableStyleName 为空,则表样式为报告器模板定义的默认表样式,即网格。

属性:

GetAccess
public
SetAccess
public

数据类型: char | string

此表的宽度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个测量单位的缩写。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 点

属性:

GetAccess
public
SetAccess
public

数据类型: char | string

每个表切片显示的最大列数,指定为 Inf 或正整数。如果该属性的值为 Inf,则所有原始表列都包含在单个表中。大于或等于表列数的 MaxCols 值也会生成包含所有列的单个表。大型表数据集可能难以辨认。将此属性设置为原始表中可在一页上清晰显示的列数。为了确定最佳值,请迭代设置 MaxCols 值并查看报告。

属性:

GetAccess
public
SetAccess
public

数据类型: int32

每个切片重复的初始列数,指定为 0 或正整数。非零数字 n 在每个切片中重复原始表的前 n 列。MaxCols 属性值包括 RepeatCols 属性值。例如,如果 MaxCols 为 6 且 RepeatCols 为 2,则每个表切片共有六列,其中前两列与原始表重复。

属性:

GetAccess
public
SetAccess
public

数据类型: int32

应用于表切片标题的自定义样式的名称,指定为字符串或字符向量。必须在添加此报告器的报告中定义指定的样式。如果该属性为空(""""[]),则切片标题使用报告模板中定义的默认样式。

属性:

GetAccess
public
SetAccess
public

数据类型: char | string

更新表条目回调,指定为函数句柄。回调函数接受 mlreportgen.dom.TableEntry 对象作为输入参量。将 BaseTable 对象追加到报告会在将表追加到报告之前为每个表条目触发一次回调函数。使用此函数可以根据条目的内容自定义表条目的外观。相关示例,请参阅 按 PDF 报告中的内容自定义表条目

属性:

GetAccess
public
SetAccess
public

数据类型: function_handle

该报告器的模板来源,以下列方式之一指定:

  • 字符向量或字符串标量,指定包含此报告器模板的文件的路径

  • 此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告

  • 文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板

指定的模板必须与您附加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

此报告器的模板名称,指定为字符向量或字符串标量。该报告器的模板必须位于该报告器的 TemplateSrc 属性指定的模板的模板库中。

属性:

GetAccess
public
SetAccess
public

数据类型: char | string

此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标在输出报告中紧接着此报告器的内容。

属性:

GetAccess
public
SetAccess
public

方法

全部展开

示例

全部折叠

此示例显示如何将两个带有标题的表添加到报告。第一个表是 5 级幻方。第二张表包含两幅图像。

import mlreportgen.report.*
import mlreportgen.dom.*

rpt = Report("tables");
chapter = Chapter();
chapter.Title = "Table example";
add(rpt,chapter);

table = BaseTable(magic(5));
table.Title = "Rank 5 Magic Square";
add(rpt,table);

add(rpt,Paragraph());
imgSize = {Height("2in"),Width("2in")};
img1 = Image("b747.jpg");
img1.Style = imgSize;
img2 = Image("peppers.png");
img2.Style = imgSize;
table = BaseTable({"Boeing 747" "Peppers"; img1, img2});
table.Title = "Picture Gallery";
add(rpt,table);

delete(gcf);
rptview(rpt);

Sample report showing Chapter 1. Table Example as the chapter title, followed by Table 1.1 Rank 5 Magic Square and Table 1.2 Picture Gallery showing an airplane on the left and a picture of peppers on the right.

此示例展示了如何根据使用 mlreportgen.report.BaseTable 报告器时的条目内容自定义表条目。您只能在 MATLAB® 版本 R2022a 或更高版本上运行此示例。

导入这些包,这样您就不必使用长而完全限定的类名。

import mlreportgen.dom.*
import mlreportgen.report.*

创建一个包含学生姓名和成绩的表。

Student_names = ["Charlie","Sarah","John","Teena","Alfred","Emma","Bill","Tyler"]';
Student_grades = [83,42,75,98,78,49,91,88]';
studentsTable = FormalTable(["Student Name","Student Grade"],[Student_names,Student_grades]);
studentsTable.Header.Style{end+1} = BackgroundColor("silver");
studentsTable.Width = "250pt";

使用学生表创建一个 mlreportgen.dom.BaseTable 报告器。

baseTabReporter = BaseTable(studentsTable);

将文件 tabEntryUpdateCB 中定义的回调函数 tabEntryUpdateCB.mlx 的句柄分配给报告器的 TableEntryUpdateFcn 属性。

在命令行中使用命令 edit tabEntryUpdateCB 可以查看回调函数的代码。

baseTabReporter.TableEntryUpdateFcn = @tabEntryUpdateCB;

创建 PDF 类型的 mlreportgen.dom.Report,然后将基表报告器追加到报告中。

document = Report("Update_table_entries_example_report","pdf");
append(document,baseTabReporter);

关闭并查看报告。

close(document);
rptview(document);

版本历史记录

在 R2017b 中推出