您可以使用mlreportgen.dom.Table
,mlreportgen.dom.FormalTable
,mlreportgen.dom.MATLABTable
,或mlreportgen.report.BaseTable
对象创建报表中的表。看到选择要创建的表类型.你可以使用以下方法格式化任何类型的表格或表格的元素(section, row, column group,或entry):
在创建表之前格式化内容。例如,在MATLAB中格式化数字®在使用它们创建表之前。看到格式表格中的数字.
在使用DOM对象创建表之前,先格式化它们。例如,格式化anmlreportgen.dom.Paragraph
对象,然后再使用它创建表项。
修改默认模板样式或为表格或表格元素创建自定义模板样式。看到使用模板定义的样式格式化表格.
通过使用表示表格或表格元素的对象的格式属性和格式对象来覆盖模板样式。看到通过编程格式表.
对于特定于格式化的信息MATLABTable
表,请参阅从MATLAB表创建表.对于特定于格式化的信息BaseTable
表,请参阅创建报表API基表.
对于表对象、表元素对象或表元素对象中包含的对象,由format属性或format对象指定的格式将覆盖由基于模板的样式指定的等效格式。为对象指定的格式将覆盖容器对象指定的等效格式。例如,如果一个表项包含mlreportgen.dom.Paragraph
对象指定的文本颜色段
对象将重写为包含它的行指定的颜色。行颜色覆盖为包含该行的表指定的颜色。看到格式继承.
表和表元素有默认的模板定义样式。如果定制应用于多个表,并且您喜欢使用in中的样式,那么可以考虑定制模板定义的样式微软®词或者编辑HTML或PDF报告的级联样式表(CSS)。
您可以通过应用自定义来格式化表微软文字处理软件摆上餐桌。如果将表样式应用于Word正式表的一个或多个部分,请指定每个表列的宽度。否则,部分的列可能不会对齐。
在Word样式表中定义表样式:
创建一个Microsoft Word模板。有关创建Microsoft Word模板的信息,请参见创建一个Microsoft Word模板.
使用以下方法之一打开Word模板文件:
在MATLAB中当前文件夹窗格,右键单击模板文件,单击外开放的MATLAB.
在MATLAB之外,右键单击文件并单击开放.
请注意
不要双击Word模板文件来打开它。双击该文件将打开使用该模板的Word文档文件。
在字(词),首页选项卡,风格组,单击风格图标.
单击管理风格按钮.
点击新风格.
在“从格式中创建新样式”对话框中:
指定的名字.
集风格类型来表格
.
在风格的基础上,选择新样式的基本样式。
在格式化节,指定格式以及格式应用于表的哪些部分。
选择基于此模板的新文档然后点击好吧.
在管理风格对话框中,选择基于此模板的新文档然后点击好吧.
保存模板。
有关使用Word模板格式化的示例,请参见创建一个斑马条纹表.
您可以使用模板中定义的CSS样式来格式化HTML和PDF表。要创建HTML或PDF模板,请参见创建一个HTML或PDF模板.
要在HTML或PDF模板中定义表样式,请使用表格
带有类名的选择器。例如,这段CSS代码指定了带有class的表的样式MyTable
.
表格MyTable {border-style: solid;Border-bottom-color: rgb(128, 128, 128);border-bottom-width:薄;border-collapse:崩溃;}
你可以使用CSS的后代选择器(空格)或子选择器(>
)来指定表的子表或子表的格式。例如,这个CSS代码指定了表项的格式(道明
元素),其样式为MyTable
.
表格MyTable td {font-family: Arial, Helvetica, sans-serif;字体大小:11分;text-align:中心;}
有关编辑CSS的信息,请参阅文档,例如https://developer.mozilla.org/en-US/docs/Web/CSS/Reference.
有关使用HTML模板格式化的示例,请参见创建一个斑马条纹表.
一旦在模板中定义了样式,就可以将其应用到报表程序中表示表格或表格元素的对象上。将样式作为参数提供给对象构造函数或将其赋给StyleName属性
对象的属性。文件的页眉、正文或页脚部分可以应用样式mlreportgen.dom.FormalTable
或mlreportgen.dom.MATLABTable
对象的样式StyleName属性
财产的mlreportgen.dom.TableHeader
,mlreportgen.dom.TableBody
,或mlreportgen.dom.TableEntry
对象。
例如,假设您定义了命名为BodyPara
,TableTitle
,RuledTable
在你报告的模板里。示例中指定样式名称段
构造函数,StyleName属性
财产的段
对象,并在表格
构造函数。
进口mlreportgen.dom。*;排名= 5;rpt =文档(“MyReport”,“html”,“MyTemplate”);p =段(“这是一个神奇的正方形或第5级:”,“BodyPara”);追加(rpt, p);p =段(sprintf (“% d MagicSquare排名”,排名));p.StyleName =“TableTitle”;追加(rpt,表(魔法(等级),“RuledTable”));关闭(rpt);rptview (rpt.OutputPath);
您可以使用编程格式来覆盖在基于模板的表样式中定义的样式。例如,假设您定义了一个名为UnruledTable
在模板中创建没有边框或列或行分隔符的表。然后,您可以在报表程序中重写样式,以围绕表格绘制框架。
进口mlreportgen.dom。*;rpt =文档(“MyReport”,“html”,“MyTemplate”);表=表(魔法(5),“UnruledTable”);表格边境=“单一”;追加(rpt、表);关闭(rpt);rptview (rpt.OutputPath);
有关编程格式的详细信息,请参见通过编程格式表.
对于HTML和PDF报告,可以使用HTML模板样式表中定义的样式来格式化表项。当定义表条目样式时,使用道明
元素选择器。例如:
道明。TableEntryWithBorder {border:5px实心红色的;}
要将模板定义的样式应用到表项,请设置TableEntry
对象StyleName属性
属性设置为样式名,或指定样式名作为TableEntry
构造函数。例如:
te = TableEntry (“Hello World”,“TableEntryWithBorder”);
如果您不喜欢编辑CSS,或者只想覆盖少数表格或表格元素的默认表格样式,您可以通过编程方式格式化表格和表格元素。使用以下方法之一:
设置表示表格或表格元素的对象的格式属性。
将格式对象添加到风格
表示表或表元素的对象的属性。属性的现有值连接,以添加格式对象风格
属性,该单元格数组包含新格式对象。例如:
表格风格= [table.Style {Border(“固体”,“黑”,“3 px”)});
下面是一些适用于的格式对象和相应的格式属性mlreportgen.dom.Table
,mlreportgen.dom.FormalTable
,mlreportgen.dom.MATLABTable
对象。
格式化 | 对象格式 | 格式属性 |
---|---|---|
表的宽度 |
|
|
表格背景颜色 |
|
|
指定表的边框 |
|
|
颜色的边框 |
|
|
厚度的边境 |
|
|
指定左、右、上或下表边框 |
N/A |
|
折叠表格和表格条目边界(仅HTML报告) |
|
|
指定列分隔符 |
|
|
列分隔符颜色 |
|
|
列分隔符厚度 |
|
|
指定行分隔符 |
|
|
行分隔符颜色 |
|
|
行分隔符厚度 |
|
|
从左边缩进表格 |
|
|
桌子前后留出空间 |
N/A |
|
桌子右边的空间 |
N/A |
|
将表格左、右或中间对齐 |
|
|
指定表项流向(从左到右或从右到左) |
|
|
调整表列的大小以适应内容 |
N/A |
您可以使用应用于该表包含的对象的其他格式对象。DOM API忽略不应用于特定对象的格式对象。
对于应用于整个表的格式化,使用代表整个表的对象的格式属性和对象。下面的示例使用format对象来指定表的边框以及行和列分隔符。它使用format属性来指定背景颜色。
进口mlreportgen.dom。*d =文档(“测试”,“html”);表=表(魔法(5));表格风格= [table.Style {Border(“插图”,“红色”,“3 px”),...ColSep (“单一”,“黑”,“1 px”),...RowSep (“单一”,“黑”,“1 px”)});表格写成BackgroundColor =“lightsteelblue”;追加(d、表);关闭(d);rptview (d.OutputPath);
您可以使用格式属性和对象来格式化mlreportgen.dom.FormalTable
和mlreportgen.dom.MATLABTable
对象。如果为表和其中一个节指定格式,则为该节指定的值将覆盖整个表的值。不是所有的正式表格格式都适用于正式表格部分。例如,OuterLeftMargin
属性不适用于正式的表节。您不能将页眉、正文或页脚部分独立于包含它的表进行缩进。
要访问用于格式化的表项,可以使用条目
方法的一个mlreportgen.dom.Table
,mlreportgen.dom.TableHeader
,mlreportgen.dom.TableBody
,或mlreportgen.dom.TableFooter
对象。
的条目
方法返回一个mlreportgen.dom.TableEntry
或mlreportgen.dom.TableHeaderEntry
对象。要格式化条目,可以使用这些TableEntry
格式化属性或对象。
格式化 | 对象格式 | 格式属性 |
---|---|---|
创建入口周围的边框 |
|
|
颜色的边框 |
|
|
厚度的边境 |
|
|
创建左、右、上或下入口边界 |
N/A |
|
将条目内容与顶部、底部或中间对齐 |
|
|
条目边界和条目内容之间的空间 |
|
|
条目内容与其上、下、右或左边界之间的空白 |
N/A |
|
导致条目跨多个列 |
|
|
导致条目跨多行 |
|
|
可以使用应用于表项包含的对象的其他格式对象。DOM API忽略不应用于特定对象的格式对象。
的输出创建了一个表魔法
函数,并使表的最大数目为红色。
进口mlreportgen.dom。*;d =文档(“测试”,“pdf”);m =魔法(5);[v,我]= max (m);(v1, i1) = max (max (m));t =表(m);t.Border =“单一”;t.ColSep =“单一”;t.RowSep =“单一”;t.TableEntriesInnerMargin =“2 pt”;t.TableEntriesHAlign =“对”;maxnum =条目(t,我(i1), i1);maxnum.Children(1)。颜色=“红色”;追加(d, t);关闭(d);rptview (d);
要为一个DOM表的所有条目或一个DOM表的一部分指定相同的格式或一组格式,可以使用以下属性:
TableEntriesValign
TableEntriesHalign
TableEntriesInnerMargin
TableEntriesStyle
这个例子从一个MATLAB表创建一个表。示例:
控件中添加format对象,使所有表主体项为蓝色TableEntriesStyle
财产
控件使所有的表主体条目居中TableEntriesHalign
财产
进口mlreportgen.dom。*d =文档(“outermargin”,“多克斯”);进口mlreportgen.dom。*d =文档(“myMATLABTable”,“pdf”);年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量= [176;163;131;133;119);mltable =表(年龄、体重、身高);mltableObj = MATLABTable (mltable);tbodyObj = mltableObj.Body;tbodyObj。表格EntriesStyle = {Color(“蓝”)};tbODYObj。表格EntriesHAlign =“中心”;追加(d, mltableObj);关闭(d);rptview (d);
要访问用于格式化的表行,可以使用行
方法的一个mlreportgen.dom.Table
,mlreportgen.dom.TableHeader
,mlreportgen.dom.TableBody
,或mlreportgen.dom.TableFooter
对象。
的行
方法返回一个mlreportgen.dom.TableRow
对象。要格式化行,可以使用这些TableRow
格式化属性或对象。
格式化 | 对象格式 | 格式属性 |
---|---|---|
指定一行的精确高度 |
|
|
指定一行的最小高度(仅Word报告) |
N/A |
|
当表跨页流动时,使此行重复为标题行 |
mlreportgen.dom.RepeatAsHeaderRow |
N/A |
允许此行跨页边界 |
mlreportgen.dom.AllowBreakAcrossPages |
N/A |
可以使用应用于行包含的对象的其他格式对象。DOM API忽略不应用于特定对象的格式对象。
本例从magic函数的输出创建了一个表,并将第一行的内容设置为红色。
进口mlreportgen.dom。*;d =文档(“测试”,“pdf”);m =魔法(5);[v,我]= max (m);(v1, i1) = max (max (m));t =表(m);t.Border =“单一”;t.ColSep =“单一”;t.RowSep =“单一”;t.TableEntriesInnerMargin =“2 pt”;t.TableEntriesHAlign =“对”;r =行(t, 1);r.Style = [r。风格{颜色(“红色”)});追加(d, t);关闭(d);rptview (d);
要指定一组相邻的表列的格式,请使用mlreportgen.dom.TableColSpecGroup
对象。若要覆盖某些列的列组的格式,请使用mlreportgen.dom.TableColSpec
对象。
在这个例子中TableColSpecGroup
对象指定绿色文本。的TableColSpec
对象将重写第一列的格式,指定粗体和红色文本。
进口mlreportgen.dom。*rpt =文档(“测试”,“pdf”);排名= 5;t =表(魔法(排名));t.Border =“单一”;t.ColSep =“单一”;t.RowSep =“单一”;t.TableEntriesInnerMargin =“2 pt”;t.TableEntriesHAlign =“对”;%指定所有列的格式毛评点(1)= TableColSpecGroup;毛评点(1)。跨度=等级;毛评点(1)。风格= {Color(“绿色”)};%指定第一列的格式规格(1)= TableColSpec;规格(1)。跨度= 1;规格(1)。风格= {Bold(true),Color(“红色”)};毛评点(1)。ColSpecs =规格;t.ColSpecGroups =毛评点;追加(rpt, t);关闭(rpt);rptview (rpt.OutputPath);
若要调整列的大小以适应列中表项最宽的内容,请包含ResizeToFitContents
对象风格
表的属性。
mlreportgen.dom.Table
|mlreportgen.dom.TableRow
|mlreportgen.dom.TableEntry
|mlreportgen.dom.FormalTable
|mlreportgen.dom.MATLABTable
|mlreportgen.report.BaseTable
|mlreportgen.dom.TableHeaderEntry
|mlreportgen.dom.TableColSpecGroup
|mlreportgen.dom.TableColSpec