主要内容

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

水平对齐表条目内容

此示例显示如何指定 DOM API 非正式和正式表中表条目的水平对齐方式。该示例显示如何设置所有表条目、一行中的条目以及单个条目的对齐方式。

文档和数据设置

导入 DOM 命名空间,这样您就不必使用长而完全限定的类名。

import mlreportgen.dom.*

创建并打开 PDF 文档。要创建 Word 文档,请将输出类型从 pdf 更改为 docx。要创建 HTML 文档,请分别将 pdf 更改为 htmlhtml-file,以用于多文件或单文件文档。

d = Document("mydoc","pdf");
open(d);

定义表、页眉行和页脚行的样式。

tableStyle = { Width("80%"), ...
               Border("solid"), ...
               RowSep("solid"), ...
               ColSep("solid") };

headerStyle = { BackgroundColor("LightBlue"), ...
                Bold(true) };

footerStyle = { BackgroundColor("LightCyan"), ...
                ColSep("none"), ...
                WhiteSpace("preserve") };

定义表标题行、正文和页脚行的内容。

headerContent = {'Item', 'Quantity', 'Cost'};
bodyContent = {'Table', 1, 55; ...
               'Chair', 4, 100; ...
               'Bookshelf', 2, 40};

total = sum([bodyContent{:,3}]);
footerContent = {[],'Total ',total};

tableContent = [headerContent; bodyContent];

设置所有表条目的对齐方式

对于第一个表,通过设置单个表属性将所有表条目居中。

使用之前定义的内容创建一个 mlreportgen.dom.Table 对象。为表和表的第一行指定样式。

append(d,Heading1("All Table Entries Centered"));

table = Table(tableContent);
table.Style = tableStyle;

firstRow = table.Children(1);
firstRow.Style = headerStyle;

通过将 TableEntriesHAlign 属性设置为 "center" 来设置所有表条目的水平对齐方式。将表追加到文档。

table.TableEntriesHAlign = "center";
append(d, table);

设置表行中条目的对齐方式

对于下一个表,通过修改行 Style 属性,仅将顶行表条目置于中心。

为表和表的第一行指定样式。不要使用 TableEntriesHAlign 属性设置水平对齐方式,而是创建一个 HAlign 对象并将其与之前定义的标题样式一起包含在第一行的 Style 属性中。

append(d,Heading1("Top Row Entries Centered"));

table = Table(tableContent);
table.Style = tableStyle;

firstRow = table.Children(1);
firstRow.Style = [{HAlign("center")},headerStyle];

append(d,table);

表行的 Style 属性为表行定义的对齐方式将覆盖 TableEntriesHAlign 属性为整个表定义的对齐方式。

设置正式表表头和表尾单个条目的对齐方式

对于最后一张表,使用 mlreportgen.dom.FormalTable 对象创建一个正式表。将表标题条目居中,并将单个页脚条目右对齐。

创建 mlreportgen.dom.FormalTable 对象。设置整体表、页眉和页脚的样式。由于 FormalTable 对象的标头与正文是分开的,因此您可以使用 TableEntriesHAlign 属性设置标头条目的对齐方式,而不会影响正文或页脚条目。或者,您可以将 HAlign 对象添加到行 Style 属性。

append(d, Heading1("Header Entries Centered, One Footer Entry Right-Aligned"));

table = FormalTable(headerContent,bodyContent,footerContent);
table.Style = tableStyle;

table.Header.TableEntriesHAlign = "center";
table.Header.Style = headerStyle;

footer = table.Footer;
footer.Style = footerStyle;

通过在条目的 HAlign 属性中包含一个 Style 对象,将页脚的第二个条目向右对齐。通过添加 mlreportgen.dom.Bold 对象使条目变为粗体。

totalEntry = entry(footer,1,2);
totalEntry.Style = {HAlign("right"),Bold(true)};

append(d,table);

关闭并查看文档。

close(d);
rptview(d);

另请参阅

| |

主题