ods excel和proc模板

时间:2019-06-26 17:15:37

标签: sas sas-ods

在通过ods excel定义了名为excel的样式后,尝试使用ods template时遇到错误。我想知道是否有人可以解释为什么会这样,因为我认为ods样式和ods目的地是两个完全独立的东西。

以下ods excel语句可以正常工作:

ods excel file="%sysfunc(pathname(work))\x.xlsx";
proc print data=sashelp.class;
run;
ods excel close;

但是如果我在运行下面的proc template代码之后尝试运行它,则会收到错误消息。

proc template;
  define style excel; 
    parent=styles.htmlblue;
    class graph       / attrpriority='none';
    style graphdata1  / contrastColor=#416FA6 markersymbol='circlefilled';
    style body from body / pagebreakhtml=_undef_; * REMOVE THE HORIZONTAL RULE;
  end; 
run; 

ods excel file="%sysfunc(pathname(work))\x.xlsx";
proc print data=sashelp.class;
run;
ods excel close;

错误是:

ERROR: Could not find method.
ERROR: No body file. EXCEL output will not be created.

我可以将样式重命名为excel以外的名称来解决此问题,但是我不明白为什么会首先发生这种情况。有人可以解释吗?谢谢。

1 个答案:

答案 0 :(得分:1)

根据评论,感谢@Tom:

使用ods styles.excel代替ods excel

ods styles.excel file="%sysfunc(pathname(work))/x.xlsx";
proc print data=sashelp.class;
run;
ods styles.excel close;