主要内容

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

mlreportgen.dom.FormalTable 类

命名空间: mlreportgen.dom

正式表

描述

使用 mlreportgen.dom.FormalTable 类的实例定义一个正式表。正式表是指由表体组成,并可选地包含表头、表脚或两者兼有的表。表头、表体、表脚分别是 mlreportgen.dom.TableHeadermlreportgen.dom.TableBodymlreportgen.dom.TableFooter 对象。

要了解可以将 mlreportgen.dom.FormalTable 对象追加到哪些 DOM 对象,请参阅将 mlreportgen.dom.FormalTable 对象追加到 DOM 类对象上

mlreportgen.dom.FormalTable 类是一个 handle 类。

创建对象

描述

formalTableObj = FormalTable 创建一个空的正式表。使用此构造函数作为起点从头开始创建正式表。

formalTableObj = FormalTable(ncols) 创建一个具有指定列数的空的正式表。

formalTableObj = FormalTable(body) 创建一个具有指定正文内容的正式表。构造函数将基本 MATLAB® 类型转换为相应的 DOM 对象。例如,构造函数将字符向量转换为 mlreportgen.dom.Text 对象。

示例

formalTableObj = FormalTable(body,styleName) 创建具有指定正文内容和样式的正式表。

formalTableObj = FormalTable(header,body) 使用指定的内容创建一个带有表头和正文以及空表脚的正式表。

formalTableObj = FormalTable(header,body,styleName) 使用指定的内容和样式创建一个正式表。表有一个空的页脚。

formalTableObj = FormalTable(header,body,footer) 创建一个正式表,其中包含正文、页眉和页脚的指定内容。

注意

Microsoft® Word 会自动将具有匹配样式名称的连续表合并为一个表。要在 DOCX 报告中将连续的表作为单独的表呈现,请执行以下选项之一:

  • 将连续表的样式名称设置为不同的值。

  • 在表之间插入一些内容。例如,在表之间插入一个空的 mlreportgen.dom.Paragraph 元素。

输入参量

全部展开

表中的列数,指定为数值。

数据类型: double

表样式,指定为字符向量或字符串标量。此属性中的样式必须在用于创建包含此表的文档的模板中定义。

属性

全部展开

背景色,指定为包含 CSS 颜色名称、十六进制 RGB 值或十进制 RGB 值的字符向量或字符串标量

格式
CSS 颜色名称指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords
十六进制 RGB 值使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。
十进制 RGB 颜色值请使用格式 "rgb(r,g,b)",其中 rgb 是以逗号分隔的正整数,分别表示红色、绿色和蓝色的值。每个值的范围必须介于 0255 之间。

设置 BackgroundColor 属性会将 mlreportgen.dom.BackgroundColor 格式的对象添加到 Style 属性。将 BackgroundColor 属性设置为空值将删除该对象。

示例: "red" 使用 CSS 颜色名称指定红色。

示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。

示例: "rgb(128,0,128)" 使用十进制 RGB 颜色值指定紫色。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表构造函数在构造正式表时创建一个 mlreportgen.dom.TableBody 对象并将其赋值给该属性。您随后无法设置此属性。但是,您可以将内容追加到表体并通过此属性设置其属性。

属性:

GetAccess
public
SetAccess
private
Transient
true
NonCopyable
true

要绘制的边框类型,指定为以下值之一:

边框样式描述支持在 Microsoft Word 中使用。支持 HTML 和 PDF
"dashed"虚线
"dashdotstroked"斜划线和点交替出现的线
"dashsmallgap"划线之间有小间隙的虚线
"dotted"点线
"dotdash"点划线交替出现的线
"dotdotdash"双点和划线交替出现的线
"double"双线
"doublewave"双波浪线
"groove"三维效果凹槽线
"hidden"

无线条

当存在冲突的边框样式时,"hidden" 边框样式将优先于冲突的边框样式,导致不显示边框线。

"inset"三维效果线
"none"

无线条

当边框样式发生冲突时,冲突的边框样式将优先于 "none",从而导致冲突的边框样式显示出来。

"outset"三维效果线
"ridge"三维效果脊状线
"single"单线
"solid"单线
"thick"粗线
"thickthinlargegap"粗划线和细划线交替,间隙较大
"thickthinmediumgap"粗划线和细划线交替,间隙适中
"thickthinsmallgap"粗划线和细划线交替,间隙较小
"thinthicklargegap"细划线和粗划线交替,间隙较大
"thinthickmediumgap"细划线和粗划线交替,间隙适中
"thinthicksmallgap"细划线和粗划线交替,间隙较小
"thinthickthinlargegap"细划线和粗划线交替,间隙较大
"thinthickthinmediumgap"细划线和粗划线交替,间隙适中
"thinthickthinsmallgap"细划线和粗划线交替,间隙较小
"threedemboss"浮雕效果线
"threedengrave"雕刻效果线
"triple"三线
"wave"波浪线

注意

对于 Microsoft Word 报告,当您将 mlreportgen.dom.Border 对象分配给 mlreportgen.dom.TableHeaderEntrymlreportgen.dom.TableEntrymlreportgen.dom.HorizontalRule 对象的 Style 属性时,报告器不支持此属性的 "inset""outset" 样式。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

是否将相邻单元格的边界合并为单一边界,指定为:

  • "on" - 将相邻单元格的边框合并为一个边框

  • "off" - 保持相邻单元格的边界

注意

此属性仅适用于 HTML 文档。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

边框颜色,指定为字符向量或字符串标量,其中包含 CSS 颜色名称、十六进制 RGB 值或十进制 RGB 值

格式
CSS 颜色名称指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords
十六进制 RGB 值使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。
十进制 RGB 颜色值请使用格式 "rgb(r,g,b)",其中 rgb 是以逗号分隔的正整数,分别表示红色、绿色和蓝色的值。每个值的范围必须介于 0255 之间。

示例: "red" 使用 CSS 颜色名称指定红色。

示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。

示例: "rgb(128,0,128)" 使用十进制 RGB 颜色值指定紫色。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表边框宽度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"10px" 指定 10 像素。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

示例: "2pt"

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表或表部分列之间的分隔线样式,指定为以下值之一:

边框样式描述支持在 Microsoft Word 中使用。支持 HTML 和 PDF
"dashed"虚线
"dashdotstroked"斜划线和点交替出现的线
"dashsmallgap"划线之间有小间隙的虚线
"dotted"点线
"dotdash"点划线交替出现的线
"dotdotdash"双点和划线交替出现的线
"double"双线
"doublewave"双波浪线
"groove"三维效果凹槽线
"hidden"

无线条

当存在冲突的边框样式时,"hidden" 边框样式将优先于冲突的边框样式,导致不显示边框线。

"inset"三维效果线
"none"

无线条

当边框样式发生冲突时,冲突的边框样式将优先于 "none",从而导致冲突的边框样式显示出来。

"outset"三维效果线
"ridge"三维效果脊状线
"single"单线
"solid"单线
"thick"粗线
"thickthinlargegap"粗划线和细划线交替,间隙较大
"thickthinmediumgap"粗划线和细划线交替,间隙适中
"thickthinsmallgap"粗划线和细划线交替,间隙较小
"thinthicklargegap"细划线和粗划线交替,间隙较大
"thinthickmediumgap"细划线和粗划线交替,间隙适中
"thinthicksmallgap"细划线和粗划线交替,间隙较小
"thinthickthinlargegap"细划线和粗划线交替,间隙较大
"thinthickthinmediumgap"细划线和粗划线交替,间隙适中
"thinthickthinsmallgap"细划线和粗划线交替,间隙较小
"threedemboss"浮雕效果线
"threedengrave"雕刻效果线
"triple"三线
"wave"波浪线

注意

对于 Microsoft Word 报告,当您将 mlreportgen.dom.Border 对象分配给 mlreportgen.dom.TableHeaderEntrymlreportgen.dom.TableEntrymlreportgen.dom.HorizontalRule 对象的 Style 属性时,报告器不支持此属性的 "inset""outset" 样式。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表列分隔线的线条颜色,指定为包含 CSS 颜色名称、十六进制 RGB 值或十进制 RGB 值的字符向量或字符串标量

格式
CSS 颜色名称指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords
十六进制 RGB 值使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。
十进制 RGB 颜色值请使用格式 "rgb(r,g,b)",其中 rgb 是以逗号分隔的正整数,分别表示红色、绿色和蓝色的值。每个值的范围必须介于 0255 之间。

示例: "red" 使用 CSS 颜色名称指定红色。

示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。

示例: "rgb(128,0,128)" 使用十进制 RGB 颜色值指定紫色。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

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

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

示例: "10pt" 指定 10 磅

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表中列组的属性,指定为 mlreportgen.dom.TableColSpecGroup 对象数组。第一个对象应用于第一组列,第二个对象应用于第二组列,依此类推。使用 Span 对象的 TableColSpecGroup 属性指定属于每个组的列数。例如,如果第一个对象的跨度为 2,则它适用于前两列。如果第二组的跨度为 3,则它将应用于接下来的三列,依此类推。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

文本流方向,指定为以下值之一:

  • "ltr" - 文本从左到右流动

  • "rtl" - 文本从右向左流动

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表的水平对齐方式,指定为以下值之一:

  • "center"

  • "left"

  • "right"

注意

要防止 PDF 报告中大型表溢出,请设置 Width 属性。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表构造函数在构造正式表时,创建一个表头对象,并将其赋值给此属性。您随后无法设置此属性。但是,您可以将内容追加到表体并通过此属性设置其属性。

属性:

GetAccess
public
SetAccess
private
Transient
true
NonCopyable
true

自 R2024a 起

是否允许对表列进行排序,指定为逻辑值 1 (true) 或 0 (false)。当您指定:

  • 1 (true) - 使表列可排序。

  • 0 (false) - 表列无法排序。

注意

此属性仅适用于 HTML 报告。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

表内容是否保留在同一页上,指定为逻辑 1 (true) 或 0 (false)。当您指定:。默认值为空,相当于 true

  • 1 (true) - 表内容保持在同一页上

  • 0 (false) - 表内容可延续至下一页。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

表的左边距,指定为字符向量或字符串标量,包含一个数字和一个计量单位的缩写。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

示例: "10pt" 指定 10 磅

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表或表部分行之间的分隔线样式,指定为以下值之一:

边框样式描述支持在 Microsoft Word 中使用。支持 HTML 和 PDF
"dashed"虚线
"dashdotstroked"斜划线和点交替出现的线
"dashsmallgap"划线之间有小间隙的虚线
"dotted"点线
"dotdash"点划线交替出现的线
"dotdotdash"双点和划线交替出现的线
"double"双线
"doublewave"双波浪线
"groove"三维效果凹槽线
"hidden"

无线条

当存在冲突的边框样式时,"hidden" 边框样式将优先于冲突的边框样式,导致不显示边框线。

"inset"三维效果线
"none"

无线条

当边框样式发生冲突时,冲突的边框样式将优先于 "none",从而导致冲突的边框样式显示出来。

"outset"三维效果线
"ridge"三维效果脊状线
"single"单线
"solid"单线
"thick"粗线
"thickthinlargegap"粗划线和细划线交替,间隙较大
"thickthinmediumgap"粗划线和细划线交替,间隙适中
"thickthinsmallgap"粗划线和细划线交替,间隙较小
"thinthicklargegap"细划线和粗划线交替,间隙较大
"thinthickmediumgap"细划线和粗划线交替,间隙适中
"thinthicksmallgap"细划线和粗划线交替,间隙较小
"thinthickthinlargegap"细划线和粗划线交替,间隙较大
"thinthickthinmediumgap"细划线和粗划线交替,间隙适中
"thinthickthinsmallgap"细划线和粗划线交替,间隙较小
"threedemboss"浮雕效果线
"threedengrave"雕刻效果线
"triple"三线
"wave"波浪线

注意

对于 Microsoft Word 报告,当您将 mlreportgen.dom.Border 对象分配给 mlreportgen.dom.TableHeaderEntrymlreportgen.dom.TableEntrymlreportgen.dom.HorizontalRule 对象的 Style 属性时,报告器不支持此属性的 "inset""outset" 样式。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表行分隔线的线条颜色,指定为包含 CSS 颜色名称或十六进制 RGB 值的字符向量或字符串标量。

格式
CSS 颜色名称指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords
十六进制 RGB 值使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。
十进制 RGB 颜色值请使用格式 "rgb(r,g,b)",其中 rgb 是以逗号分隔的正整数,分别表示红色、绿色和蓝色的值。每个值的范围必须介于 0255 之间。

示例: "red" 使用 CSS 颜色名称指定红色。

示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。

示例: "rgb(128,0,128)" 使用十进制 RGB 颜色值指定紫色。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

行分隔符的宽度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"10px" 指定 10 像素。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

示例: "5pt"

属性:

NonCopyable
true

数据类型: char | string

表条目使用的样式,指定为格式对象元胞数组。此属性指定的样式适用于表条目内容,而不适用于条目本身。例如,您可以使用此属性来定义表条目的字体大小,但不能定义条目边框的类型或颜色。要指定边框,请设置每个条目的 Style 属性。

注意

请小心,不要无意中覆盖该属性的先前设置。例如,设置表属性 TableEntriesHAlign 会将 HAlign 格式对象追加到此属性。要避免覆盖此属性,请在设置其他将格式追加到此属性的表属性之前设置此属性。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: cell

表条目的内边距,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

示例: "10px" 指定 10 像素

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

表的宽度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,“100%”指定 PDF 报告中页面宽度的 100%,Word 报告中页面宽度的 100% 减去边距。有效的缩写包括:

  • 不使用缩写 - 像素

  • px - 像素

  • cm - 厘米

  • in - 英寸

  • mm - 毫米

  • pc - 派卡

  • pt - 磅

  • % - 百分比

示例: "5pt" 指定五磅

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

文档或文档部分样式表中的样式名称,指定为字符向量或字符串标量。您可以为正式表的任何部分设置此属性。设置此属性将覆盖文档中为正式表指定的默认样式。

如果您为 Word 文档的某个部分指定了 StyleName,则必须明确指定该部分中每列的宽度,以确保所有部分具有相同的宽度。Word 没有内置的正式表支持。为了解决此问题,DOM 接口将正式表表示为三个表,每节一个,嵌入在 3×1 表中。

此属性不支持包含连字符的默认 Word 文档样式名称。要使用包含连字符的默认 Word 文档样式名称,请在自定义 Word 模板中定义表样式,然后使用该模板创建文档或文档部分。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

此文档元素对象的格式规范,指定为 DOM 格式对象数组。此属性指定的格式将覆盖此元素的 StyleName 属性指定的相应格式。不适用于此文档元素对象的格式将被忽略。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

文档元素的自定义属性,指定为 mlreportgen.dom.CustomAttribute 对象数组。自定义属性必须被此对象所追加到的文档元素的输出格式支持。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

此对象的父对象,指定为文档元素对象。一个文档元素必须只有一个父元素。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

此对象的子对象,指定为文档元素对象数组。此属性包含使用 append 方法追加的文档元素对象。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

标记,指定为字符向量或字符串标量。DOM API 在创建此对象的过程中生成一个会话唯一标记。生成的标记形式为 CLASS:ID,其中 CLASS 是对象类,ID 是对象的 Id 属性的值。使用此值来帮助确定在文档生成过程中出现的问题的位置。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

目标标识符,指定为字符向量或字符串标量。DOM API 在创建文档元素对象时会生成一个会话唯一标识符。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

方法

全部展开

示例

全部折叠

创建一个正式表。

import mlreportgen.dom.*;
myReport = Document('myDoc','html');

table = FormalTable({'row1 - col1' 'row1 - col2 ';...
    'row2 - col1' 'row2 - col2'});
table.Style = {Border('double'),ColSep('solid'),RowSep('solid')};
append(myReport,table);

为标题创建一行。

rowForHeader = TableRow();
col1Title = TableEntry('Column 1 header');
col2Title = TableEntry('Column 2 header');
append(rowForHeader,col1Title);
append(rowForHeader,col2Title);

追加标题行并显示报告。

headerRow = appendHeaderRow(table,rowForHeader);

close(myReport);
rptview('myDoc','html');

创建、格式化并追加正式表。

import mlreportgen.dom.*;
myReport = Document('myDoc','html');

table = FormalTable({'row1 - col1' 'row1 - col2 ';...
    'row2 - col1' 'row2 - col2'});
table.Style = {Border('double'),ColSep('solid'),RowSep('solid')};
append(myReport,table);

为页脚创建一行(及其条目)。对行中的文本使用粗体。

rowForFooter = TableRow();
rowForFooter.Style = {Bold(true)};
col1Title = TableEntry('Column 1 footer');
col2Title = TableEntry('Column 2 footer');
append(rowForFooter,col1Title);
append(rowForFooter,col2Title);

追加页脚行并显示报告。

footerRow = appendFooterRow(table,rowForFooter);

close(myReport);
rptview('myDoc','html');

详细信息

全部展开

提示

  • 当您在表条目中包含大量内容时,表可能无法完全显示在报告页面上。如果某个表无法完全显示在 DOCX 报告页面上,Microsoft Word 将无法打开该报告。为确保表能适配 DOCX 报告,请设置内容较多的表条目的宽度和高度。要设置宽度,请使用 mlreportgen.dom.Width 类。要设置高度,请使用 mlreportgen.dom.Height 类。为避免删除现有格式,请将新的表条目样式与现有样式合并:

    te = TableEntry(domObj);
    te.Style = [te.Style, {Width("1in"), Height("1in")}];
    append(row,te);
    若要将该格式应用于表中的所有表条目,请使用表对象的 TableEntriesStyle 属性。

版本历史记录

在 R2014b 中推出

全部展开