主要内容

格式表

您可以使用mlreportgen.dom.Tablemlreportgen.dom.FormalTablemlreportgen.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正式表的一个或多个部分,请指定每个表列的宽度。否则,部分的列可能不会对齐。

在Word样式表中定义表样式:

  1. 创建一个Microsoft Word模板。有关创建Microsoft Word模板的信息,请参见创建一个Microsoft Word模板

  2. 使用以下方法之一打开Word模板文件:

    • 在MATLAB中当前文件夹窗格,右键单击模板文件,单击外开放的MATLAB

    • 在MATLAB之外,右键单击文件并单击开放

      请注意

      不要双击Word模板文件来打开它。双击该文件将打开使用该模板的Word文档文件。

  3. 在字(词),首页选项卡,风格组,单击风格图标

  4. 单击管理风格按钮

  5. 点击新风格

  6. 在“从格式中创建新样式”对话框中:

    • 指定的名字

    • 风格类型表格

    • 风格的基础上,选择新样式的基本样式。

    • 格式化节,指定格式以及格式应用于表的哪些部分。

  7. 选择基于此模板的新文档然后点击好吧

  8. 管理风格对话框中,选择基于此模板的新文档然后点击好吧

  9. 保存模板。

有关使用Word模板格式化的示例,请参见创建一个斑马条纹表

创建一个HTML或PDF表格样式

您可以使用模板中定义的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:中心;}

看到修改HTML模板中的样式修改PDF模板中的样式

有关编辑CSS的信息,请参阅文档,例如https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

有关使用HTML模板格式化的示例,请参见创建一个斑马条纹表

对表格或表格元素应用样式

一旦在模板中定义了样式,就可以将其应用到报表程序中表示表格或表格元素的对象上。将样式作为参数提供给对象构造函数或将其赋给StyleName属性对象的属性。文件的页眉、正文或页脚部分可以应用样式mlreportgen.dom.FormalTablemlreportgen.dom.MATLABTable对象的样式StyleName属性财产的mlreportgen.dom.TableHeadermlreportgen.dom.TableBody,或mlreportgen.dom.TableEntry对象。

例如,假设您定义了命名为BodyParaTableTitle,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.Tablemlreportgen.dom.FormalTable,mlreportgen.dom.MATLABTable对象。

格式化 对象格式 格式属性

表的宽度

mlreportgen.dom.Width

宽度

表格背景颜色

mlreportgen.dom.BackgroundColor

写成BackgroundColor

指定表的边框

mlreportgen.dom.Border

边境

颜色的边框

mlreportgen.dom.Border

BorderColor

厚度的边境

mlreportgen.dom.Border

BorderWidth

指定左、右、上或下表边框

mlreportgen.dom.Border

N/A

折叠表格和表格条目边界(仅HTML报告)

mlreportgen.dom.BorderCollapse

BorderCollapse

指定列分隔符

mlreportgen.dom.ColSep

ColSep

列分隔符颜色

mlreportgen.dom.ColSep

ColSepColor

列分隔符厚度

mlreportgen.dom.ColSep

ColSepWidth

指定行分隔符

mlreportgen.dom.RowSep

RowSep

行分隔符颜色

mlreportgen.dom.RowSep

RowSepColor

行分隔符厚度

mlreportgen.dom.RowSep

RowSepWidth

从左边缩进表格

mlreportgen.dom.OuterMargin

OuterLeftMargin

桌子前后留出空间

mlreportgen.dom.OuterMargin

N/A

桌子右边的空间

mlreportgen.dom.OuterMargin

N/A

将表格左、右或中间对齐

mlreportgen.dom.HAlign

HAlign

指定表项流向(从左到右或从右到左)

mlreportgen.dom.FlowDirection

FlowDirection

调整表列的大小以适应内容

mlreportgen.dom.ResizeToFitContents

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);

格式化一个正式或MATLAB表编程

您可以使用格式属性和对象来格式化mlreportgen.dom.FormalTablemlreportgen.dom.MATLABTable对象。如果为表和其中一个节指定格式,则为该节指定的值将覆盖整个表的值。不是所有的正式表格格式都适用于正式表格部分。例如,OuterLeftMargin属性不适用于正式的表节。您不能将页眉、正文或页脚部分独立于包含它的表进行缩进。

格式化表项

要访问用于格式化的表项,可以使用条目方法的一个mlreportgen.dom.Tablemlreportgen.dom.TableHeadermlreportgen.dom.TableBody,或mlreportgen.dom.TableFooter对象。

条目方法返回一个mlreportgen.dom.TableEntrymlreportgen.dom.TableHeaderEntry对象。要格式化条目,可以使用这些TableEntry格式化属性或对象。

格式化 对象格式 格式属性

创建入口周围的边框

mlreportgen.dom.Border

边境

颜色的边框

mlreportgen.dom.Border

BorderColor

厚度的边境

mlreportgen.dom.Border

BorderWidth

创建左、右、上或下入口边界

mlreportgen.dom.Border

N/A

将条目内容与顶部、底部或中间对齐

mlreportgen.dom.VAlign

VAlign

条目边界和条目内容之间的空间

mlreportgen.dom.InnerMargin

InnerMargin

条目内容与其上、下、右或左边界之间的空白

mlreportgen.dom.InnerMargin

N/A

导致条目跨多个列

N/A

ColSpan

导致条目跨多行

N/A

行宽

可以使用应用于表项包含的对象的其他格式对象。DOM API忽略不应用于特定对象的格式对象。

的输出创建了一个表魔法函数,并使表的最大数目为红色。

5乘5的数字表。第五行第三列的条目是25,红色的。

进口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.Tablemlreportgen.dom.TableHeadermlreportgen.dom.TableBody,或mlreportgen.dom.TableFooter对象。

方法返回一个mlreportgen.dom.TableRow对象。要格式化行,可以使用这些TableRow格式化属性或对象。

格式化 对象格式 格式属性

指定一行的精确高度

mlreportgen.dom.RowHeight

高度

指定一行的最小高度(仅Word报告)

mlreportgen.dom.RowHeight

N/A

当表跨页流动时,使此行重复为标题行

mlreportgen.dom.RepeatAsHeaderRow

N/A

允许此行跨页边界

mlreportgen.dom.AllowBreakAcrossPages

N/A

可以使用应用于行包含的对象的其他格式对象。DOM API忽略不应用于特定对象的格式对象。

本例从magic函数的输出创建了一个表,并将第一行的内容设置为红色。

一张5乘5的数字表。第一行是红色的,其他几行是黑色的。

进口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对象将重写第一列的格式,指定粗体和红色文本。

一张5乘5的数字表。第一列是红色的。其他栏是绿色的。

进口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对象风格表的属性。

另请参阅

||||||||

相关的话题

外部网站