先贴自己的代码,sheet的命名总是出现问题
%macro test(epath = ,xlsx_name = ,opath = );
libname a167 "&epath.";
proc sql noprint;
select count(*) into:_n
from dictionary.tables
where libname = %upcase("a167");
select memname into:_memname1-:_memname%left(&_n.)
from dictionary.tables
where libname = %upcase("a167");
select memlabel into:_labname1-:_labname%left(&_n.)
from dictionary.tables
where libname = %upcase("a167");
quit;
%do i=1 %to &_n.;
%put NOTE:&&_memname&i.. = &&_labname&i..;
proc export data = a167.&&_memname&i..
outfile = "&opath.\&xlsx_name..xlsx"
dbms = xlsx replace label;
sheet = "&&_memname&i.._&&_labname&i..";
这里改成sheet = "&&_labname&i.."导出的excel就会打不开???
还有就是取消提交的语句是什么意思呢,这个宏我第一次运行,可以得到想要的excel,但是删除掉excel后再次运行就出问题了,需要取消提交的语句后再次运行就可以正常得到excel。
run;
%end;
%mend;
%test(epath = C:\Users\user\Desktop\Mylib\TEST1,
xlsx_name = test1,
opath = C:\Users\user\Desktop\Mylib\TEST1);