格式继承
您可以使用文档对象模型 (DOM) API 来使用基于模板的样式来指定文档元素对象的外观,并格式化基于对象的样式或其等效的格式属性。如果设置文档元素对象的 StyleName 和 Style 属性,则 Style 属性中的格式将覆盖 StyleName 属性中基于模板的样式指定的相应格式。在此示例中,假设 Warning 样式将警告的颜色定义为黄色。在段落上设置 Style 属性会覆盖 StyleName 设置指定的颜色。
import mlreportgen.dom.*; d = Document("MyDoc","docx","MyTemplate"); p = Paragraph("Danger!"); p.StyleName = "Warning"; p.Style = {Color("red")}; append(d,p); close(d);
您可以使用一条语句为容器中包含的所有文档元素对象分配格式。例如,此代码使用单个 Style 属性为表中的所有条目分配颜色。
import mlreportgen.dom.*; d = Document("MyDoc"); tableArray = {"a","b";"c","d"}; table = append(d,tableArray); table.Style = {Color("blue")}; close(d); rptview(d.OutputPath);
当生成 HTML 或 PDF 报告时,文档元素对象会从其容器中继承未指定的格式,无论文档元素对象是否为 StyleName 指定了值。容器会从其父容器继承未显式指定的任何格式,依此类推,直至容器层次结构的顶层。
当您生成 DOCX 报告并为文档元素对象指定 StyleName 的值时,该对象不会从其容器中继承未指定的格式。在此示例中,文档元素对象 text 为 StyleName 指定了一个值,并且未继承文档元素对象 para 指定的粗体格式。
import mlreportgen.dom.*; d = Document("MyDoc","docx"); text = Text("My Paragraph"); text.Underline = "single"; text.StyleName = "paraTitle"; para = Paragraph(text); para.Bold = true; append(d,para); close(d); rptview(d);

如果未为 StyleName 指定值,则文档元素对象 text 将继承文档元素对象 para 指定的粗体格式。
import mlreportgen.dom.*; d = Document("MyDoc","docx"); text = Text("My Paragraph"); text.Underline = "single"; para = Paragraph(text); para.Bold = true; append(d,para); close(d); rptview(d);
