大家好,向大家请教一个问题。
我在Windows 11系统中安装的64位SAS 9.4 TS Level 1M2版本。Excel使用的是Microsoft 365的最新版本。也安装了Microsoft Access Database Engine 2016 Redistributable
我在向系统中导入一个超过255列的Excel文件(xlsx格式)。当我使用DBMS=Excel的时候,可以导入,但仅导入255列的数据。根据网上的说明,这应该是选择DBMS=Excel造成的。
PROC IMPORT OUT= SNC.NCFOP08
DATAFILE= "C:\Users\giant\OneDrive\SAS\SNC\POR8\NCFOP02 20231221.xlsx"
DBMS=EXCEL REPLACE;
SHEET="Sheet1";
GETNAMES=YES;
MIXED=NO;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;
11 PROC IMPORT OUT= SNC.NCFOP08
12 DATAFILE= "C:\Users\giant\OneDrive\SAS\SNC\POR8\NCFOP02 20231221.xlsx"
13 DBMS=EXCEL REPLACE;
14 SHEET="Sheet1";
15 GETNAMES=YES;
16 MIXED=NO;
17 SCANTEXT=YES;
18 USEDATE=YES;
19 SCANTIME=YES;
20 RUN;
NOTE: SNC.NCFOP08 data set was successfully created.
NOTE: The data set SNC.NCFOP08 has 279 observations and 255 variables.
NOTE: PROCEDURE IMPORT used (Total process time):
real time 5.19 seconds
cpu time 0.40 seconds
按照网上的介绍,改为DBMS=XLSX,应该能解决这个问题,但是执行后,却报错。见下
1 PROC IMPORT OUT= SNC.NCFOP08
2 DATAFILE= "C:\Users\giant\OneDrive\SAS\SNC\POR8\NCFOP02 20231221.xlsx"
3 DBMS=xlsx REPLACE;
NOTE: The previous statement has been deleted.
NOTE: The previous statement has been deleted.
NOTE: The previous statement has been deleted.
4 SHEET="Sheet1";
NOTE: The previous statement has been deleted.
5 GETNAMES=YES;
6 MIXED=NO;
-----
180
7 SCANTEXT=YES;
--------
180
8 USEDATE=YES;
-------
180
9 SCANTIME=YES;
--------
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
10 RUN;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE IMPORT used (Total process time):
real time 0.20 seconds
cpu time 0.00 seconds
请教大家,该如何处理,才能顺利完整导入这个xlsx文件。