【发布时间】:2019-04-04 09:05:31
【问题描述】:
我一直在关注在线文档并浏览其他堆栈溢出查询,但我还没有找到通过 DDE 将我的 SAS 数据集输出到 excel 的方法。
我运行的SAS版本是SAS9.4 我运行的excel版本是microsoft office 2016 - excel 2016
我用来导出的代码是
/*Excel DDE interface options*/ /*TEST*/
options noxwait noxsync;
X '"C:\Users\user.name\Desktop\template_dde.xlsx"';
data _null_;
rc=sleep(15);
run;
filename ddedata dde 'excel|SFA!r2c1:r4000c56';
data _null_;
file ddedata notab;
set work.Results_output_format end=eof;
put '"THIS IS A TEST"';
run;
%LET timestamp = %SYSFUNC(PUTN(%SYSFUNC(DATE()),yymmddn8.));
%LET hourstamp = %SYSFUNC(COMPRESS(%SYSFUNC(TIME(),time.),%STR( :)));
data _null_;
length cmnd $150.;
file ddedata;
cmnd = '"[save.as("C:\Users\user.name\Desktop\×tamp._&hourstamp._template_dde.xlsx")]"';
put cmnd;
put '[quit()]';
run;
它输出“这是一个测试”,然后输出保存语句,但我的数据没有导出,文件也没有实际保存。
我是否忽略了什么?
【问题讨论】:
-
要写入模板,我更喜欢在模板中有一个命名范围,然后您可以直接导出到 Excel 文件中的该命名范围。 FCOPY() 将复制模板文件以创建新版本,然后我也避免了另存为步骤。 sas.com/content/dam/SAS/en_ca/User%20Group%20Presentations/…
-
DDE 对于新进程来说并不是一个好主意,我仍然使用它的唯一原因是当我需要从 Excel 文件调用宏时,通常是转换为 PDF。跨度>
-
谢谢!我会通读这个
标签: sas dde sas-studio