整体思路是运用宏循环


形式1:

data _null_;
%do i=1 %to &varsum;
    proc export data=outputcd.&&varname&i outfile="C:\Users\XXXX\Desktop\123\&excelname" dbms=xlsx replace;
    sheet=&&varname&i;(必须有)
    run;
%end;
run;

dbms=xlsx  生成的后缀为XLSX后缀,sheet名称为数据集名称;



形式2:

data _null_;
%do i=1 %to &varsum;
    proc export data=outputcd.&&varname&i outfile="C:\Users\xxxx\Desktop\123\&excelname" dbms=excel replace;
     sheet=&&varname&i;(可有可无)
    run;
%end;
run;


dbms=excel 生成的后缀名为XLS 数据集名称里带数字的sheet名前会有下划线_;