在通过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
以外的名称来解决此问题,但是我不明白为什么会首先发生这种情况。有人可以解释吗?谢谢。
答案 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;