PROC IMPORT OUT= WORK.schedule DATAFILE= "C:path文件.xlsx" DBMS=EXCEL REPLACE; /*data base management system,repalce overwrites an existing SAS data set*/ RANGE="sheet1$"; /*which sheet,注意后面的$*/ GETNAMES=YES; /*是否设置预读入文件首行为sas dataset变量名*/ MIXED=NO; /*是否将所有数字变量变为character类型,默认no*/ SCANTEXT=YES; /*是否将length设置为原变量在excel中的长度,only character variable*/ USEDATE=YES; /*是否将date变量format为date格式,yes设置为date9. */ SCANTIME=YES; /*是否将time变量format为date格式,yes设置为TIME. */ RUN;
proc export data=percent.output outfile='C:path文件名' dbms=xlsx label /*是否使用label作为xlsx的列名称*/ replace; /*是否取代源文件内容*/ sheet="sheet-name"; run;
%macro rdexcl(list=); %let i=1; %do %while(%scan(&list. , &i. , %str( ) ) ne %str() ); %let dataset =%scan(&list. , &i. , %str( ) ); PROC IMPORT OUT= &dataset. DATAFILE= "C:UsersAdministratorDesktop工作簿1.xlsx" DBMS=EXCEL REPLACE; RANGE="&dataset.$"; GETNAMES=NO; MIXED=NO; SCANTEXT=YES; USEDATE=YES; SCANTIME=YES; RUN; %let i=%eval(&i.+1); %end; %mend; %rdexcl(list=sheet1 sheet2 sheet3);
%macro rdexcl(list=); %let i=1; %do %while(%scan(&list. , &i. , %str( ) ) ne %str() ); %let dataset =%scan(&list. , &i. , %str( ) ); PROC IMPORT OUT= &dataset. DATAFILE= "C:UserslenovoDesktopAAAA.xlsx" DBMS=XLSX REPLACE; sheet="&dataset."; GETNAMES=NO; RUN; %let i=%eval(&i.+1); %end; %mend; %rdexcl(list=sheet1name sheet2name );