使用长名称从Excel工作表中检索数据 - SAS

时间:2015-06-02 13:46:00

标签: sas

我尝试使用SAS从Excel文件中读取值。此文件是标准文件,将每天重新上传,因此我不希望每天更改工作表名称。

目前的问题是,如果摘录在某一天有多个工作表(它在月末和月中文件中有),我的代码就会失败,因为它需要一个工作表名称给出。系统生成的工作表名称的问题是SAS的时间太长了。

这是我的当前代码(请注意,如果文件只包含一个工作表,我可以删除工作表名称部分,然后此代码可以很好地工作):

Sheets(1).Range("A1").AutoFilter Field:=1, Criteria1:=<>Application.WorksheetFunction.IsNA(Range("A1").Value)

如何在不更改工作表名称的情况下从此来源检索数据?

更新:

我也尝试过使用PROC IMPORT,结果相同:

libname xl Excel "&full_file_route" header=no access=readonly; 

proc sql NOPRINT;
    select F1 as file_indicator 
    into :file_indicator
    from xl.'Accounts Per Country Incl. Developing$A3:A3'n;
quit;

结果表明:

PROC IMPORT OUT= test DATAFILE= "\\<filename...>.xls" 
    DBMS=EXCEL REPLACE;
    SHEET='Accounts Per Country Incl. Developing';
    RANGE='A3:A3';
RUN;

1 个答案:

答案 0 :(得分:0)

为什么不尝试通过

读取库内容
proc contents data=xl._all_ out=datasets;
quit;

看看数据集的名称是什么,很有可能使您的代码知道其工作表。