此示例演示如何创建具有交替颜色的行或列的表。这些桌子被称为斑马条纹或带状桌子。要在报表中创建斑马条纹表,可以在程序或模板中定义它。本节中的示例具有斑马条纹行。对斑马条纹列使用类似的技术。
报表生成器api支持以编程方式或使用Word或HTM金宝appL模板创建斑马条纹表。不能使用PDF模板为斑马条纹表创建PDF报告。
这个程序创建一个8乘8的魔方表。它具有在蓝色和白色之间交替的行背景色,这有助于读取和汇总行。该程序还包括行高、表宽、边框和单元格条目对齐的格式化。
进口mlreportgen.report。*进口mlreportgen.dom。*rpt =报告(“zebraTable”,“pdf”);马格伦= 8;magg =魔术(maglen);tb = Table(mag);设置交替行的颜色为I = 1:马格伦r = tb.row(I);如果mod(i,2)==0 r.Style ={背景色(“lightsteelblue”)};其他的r.Style = {BackgroundColor(“白色”)};结束结束结核病。风格= {RowHeight (“0.3”), RowSep (“固体”), ColSep (“固体”)};结核病。宽度=“3”;结核病。TableEntriesVAlign =“中间”;结核病。TableEntriesHAlign =“中心”;结核病。边境=“单一”;添加(rpt,tb)关闭(rpt) rptview(rpt)
此示例演示如何向定义了斑马条纹表的Word模板添加表样式。使用模板可以使应用程序模块化。您可以更新模板,而不是更新程序,这可能会引入错误。
1.打开Word模板。在本例中,模板文件为myrpt。Dotx,您可以使用它创建mlreportgen.report.Report.createTemplate(“myrpt”、“多克斯”)
.要打开Word模板文件,右键单击该文件,然后单击菜单中的“打开”。(如果直接单击该文件,则会打开一个使用该模板的.doc文件。)
2.打开风格窗格,如图所示。
3.在样式窗格中,单击新风格按钮。
4.若要定义表样式,请指定或选择字段值。为了匹配程序化的斑马条纹表示例,设置这些字段以将特性应用到表和表行:
的名字——添加ZebraStripeTable
作为样式的名称。使用此样式名称可指定程序中表要使用的样式。
风格类型-表格
将格式应用于-甚至有条纹的行
色域(没有颜色)
-从下拉菜单中为奇数条带行选择一种颜色。
然后,设置这些字段,将这些额外的功能应用到整个表:
将格式应用于-整个表
对齐,居中对齐
边界,所有的边界
5.点击好吧保存新样式。
6.保存模板文件
7.在程序中,指定要使用的模板文件,然后可以将新的斑马条纹样式应用到程序中的表。
rpt = mlreportgen.dom.Document(“myreport”,“多克斯”,“myrpt.dotx”);tb = Table();结核病。StyleName属性=“ZebraStripeTable”;
Word中并不是所有可以在程序中使用的格式化选项都可用。为了使本例与编程示例相匹配,除了在Word模板中指定样式外,还必须在程序中指定行高和表宽。
结核病。Style = {RowHeight(“0.3”)};结核病。宽度=“3”;
这是使用Word模板的完整代码,myrpt.dotx
,将一个魔方格式化为一个斑马条纹的表格。
进口mlreportgen.report。*进口mlreportgen.dom。*rpt = mlreportgen.report.Report(“myreport”,“多克斯”,“myrpt.dotx”);马格伦= 8;magg =魔术(maglen);tb = Table(mag);结核病。StyleName属性=“ZebraStripeTable”;结核病。风格= {RowHeight (“0.3”)};结核病。宽度=“3”;add (rpt, tb)关闭(rpt);rptview (rpt)
这个例子展示了如何向定义斑马条纹表的HTML模板添加表样式。使用模板可以使应用程序模块化。您可以更新模板,而不是更新程序,这可能会引入错误。
1.如果您没有现有的HTML模板,请使用mlreportgen.report.Report.createTemplate(“myrpt”、“html”)
.在本例中,模板文件位于压缩模板包中,myrpt.htmtx
.
2.使用unzipTemplate(“myrpt.htmtx”)
解压缩模板以创建名为myrpt
,其中包含样式表和图像模板文件。
3.的样式表文件夹myrpt
文件夹中。打开root.css
文件在文本编辑器。
4.创建一个CSS规则,为HTML表格元素定义一个样式名ZebraStripeTable。为ZebraStripeTable样式定义CSS规则,将以下行添加到root.css
文件。背景色#B0C4DE和#FFFFFF分别是浅蓝色和白色。
/*设置整个表*/表。ZebraStripeTable{ text-align: center; border: 1px solid black; border-collapse: collapse; width: 5in; height: 4in; } /* Settings for table body */ table.ZebraStripeTable td { padding: 0pt 0pt 0pt 0pt; vertical-align: middle; text-align: center; border: 1px solid black; border-collapse: collapse; } /* Zebra rows and colors */ tr:nth-child(even) { background-color: #B0C4DE } tr:nth-child(odd) { background-color: #FFFFFF }
5.保存root.css
文件。
6.使用zipTemplate(“myrpt”)
将模板文件压缩回myrpt.htmtx
模板包。
7.在程序中,指定ZebraStripedTable作为表的样式。
rpt = mlreportgen.report.Report(“myreport”,“html”,“myrpt.htmtx”);tb = Table();结核病。StyleName属性=“ZebraStripeTable”;
这是使用HTML模板的完整代码,myrpt.htmtx
,将一个魔方格式化为一个斑马条纹的表格。
进口mlreportgen.report。*进口mlreportgen.dom。*rpt = mlreportgen.report.Report(“myreport”,“html”,“myrpt.htmtx”);马格伦= 8;magg =魔术(maglen);tb = Table(mag);结核病。StyleName属性=“ZebraStripeTable”;添加(rpt,结核病);关闭(rpt);rptview (rpt);