水平对齐表条目内容
此示例显示如何指定 DOM API 非正式和正式表中表条目的水平对齐方式。该示例显示如何设置所有表条目、一行中的条目以及单个条目的对齐方式。
文档和数据设置
导入 DOM 命名空间,这样您就不必使用长而完全限定的类名。
import mlreportgen.dom.*
创建并打开 PDF 文档。要创建 Word 文档,请将输出类型从 pdf
更改为 docx
。要创建 HTML 文档,请分别将 pdf
更改为 html
或 html-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);
另请参阅
mlreportgen.dom.Table
| mlreportgen.dom.FormalTable
| mlreportgen.dom.HAlign