如何在不使用pcfiles或ExcelCS库名称的情况下在SAS中找出所有Excel工作表的名称?



我一直试图在SAS中导入一个由20个工作表组成的大型Excel文件。我正在使用以下宏进行进程导入

%macro excel_imp(outds, worksheet);
proc import 
out=&outds
datafile= "Z:tempsample"
dbms=XLSX replace;
sheet="&worksheet";
getnames=yes;
run;
%mend excel_imp;
%excel_imp(Ds1,Worksheet1);
%excel_imp(Ds2,Worksheet2);

上面的代码运行得很好,但我必须用不同的工作表名称调用宏20次。

我想要一个自动代码来识别工作表名称,然后使用上面的宏。我的SAS EG中没有pcfiles/ExcelCS,我使用的是9.4

感谢您的帮助!谢谢

既然XLSX显然可以工作,为什么不使用XLSX libname呢。

libname demo xlsx 'path to xlsx file';
proc copy in=demo out=work;
run;

最新更新