本文将分享DDE读取Excel的方法,由于Linux环境不支持dbms=Excel选项,在使用Proc Import时无法使用Mixed=yes选项,因此在读取Excel列(既有字符也有数值)时可能存在字符变量无法导入的问题,此时可使用DDE读取Excel数据。
DDE读取Excel
代码语言:javascript复制options noxwait noxsync;
/*打开需要读入的Excel文件*/
x "C:UsersadminDesktopExcelName.xlsx";
/*暂停执行5秒,等待文件成功打开*/
data _null_;
x=sleep(5);
run;
/*设置读取的Excel的Sheet与范围 R表示行,C表示列*/
filename range_my dde "excel|[ExcelName.xlsx]sheet1!r1c1:r99999c999" notab;
/*采用infile方式读取数据*/
data a;
infile range_my dlm='09'x dsd missover;
format var1-var11 $200.;
informat var1-var11 $200.;
length var1-var11 $200.;
input var1-var11 $200.;
run;
/*关闭打开的Excel*/
filename r1 dde "excel|system";
data _null_;
file r1;
put '[quit()]';
run;