nobot和notop选项是否会覆盖模板样式?

时间:2014-07-29 15:18:37

标签: sas

我有以下代码

proc template;
define style styles.test;
parent=styles.analysis; 
replace output from container / 
cellpadding=1pt
cellspacing=0pt ;
end;
run;

ods html file="C:\users\owner\desktop\class.html" (nobot notop) style=styles.test;
proc print data = sashelp.class;
run;
ods html close; 

但它根本没有实现我的test风格。

然而,当我删除(nobot notop)时,一切正常。

如何实现我的风格并以(nobot notop)的方式摆脱顶部和底部?

1 个答案:

答案 0 :(得分:1)

您看到表格外观不同的原因是notop选项。 ODS输出的外观(通常)依赖于CSS类。 notop选项将阻止这些类的定义包含在正在创建的.html文件中。

通过在启用和不启用选项的情况下运行CSS定义,您可以看到如何从文件中排除CSS定义。在记事本中打开文件以查看内容而不是在Web浏览器中。

ods html file="C:\example1.html" (nobot notop) style=styles.test;
proc print data = sashelp.class;
run;
ods html close; 

ods html file="C:\example2.html" style=styles.test;
proc print data = sashelp.class;
run;
ods html close; 

好消息是您可以使用stylesheet=选项将CSS输出到自己的文件中:

ods html file="C:\example2.html" style=styles.test stylesheet="c:\mycss.css";
proc print data = sashelp.class;
run;
ods html close; 

这将创建一个文件c:\mycss.css,其中只包含您需要的样式表定义。然后,您可以将此文件上传到您的网络服务器(或将其复制到与您的html相同的文件夹),并在HTML文档标签中添加以下行以包含它:

<head>
  <link rel="stylesheet" type="text/css" href="mycss.css">
</head>

然后,您可以使用仅输出表的ods html语句版本,您应该完成。结合我们上面讨论过的所有内容,您可以将它完全放在一个单独的语句中:

ods html file="C:\example2.html" (nobot notop) style=styles.test stylesheet="c:\mycss2.css";
proc print data = sashelp.class;
run;
ods html close;