1

I am using WPS (which is essentially writing in SAS) and I am trying to do proc import and proc export of xlsx files but it keeps giving me error. I don't really know which version of SAS I am actually using because the compiler is WPS. Would appreciate any help at all in doing such simple tasks!

For proc import, the codes I used are as such:

proc import out=apples replace
   datafile="C:\oranges\apples.xlsx";
   sheet = "fruits";
run;   

The error I got is:

libname _EXCIMP excel "C:\oranges\apples.xlsx" mixed=NO header=YES msengine=ACE use_datetype=YES scan_textsize=YES scan_timety pe=YES   dbmax_text=1024
ERROR: A database error occurred. The database specific error follows:
   DATABASE error: Class not registered;
data apples;
set _EXCIMP.'fruits$'n;run;
          ^
ERROR: Library "_EXCIMP" is not known

For proc export, the codes I used are as such:

PROC EXPORT 
   DATA=have
   DBMS = EXCEL
   LABEL 
OUTFILE='C:\blabla\bla.xlsx' REPLACE;    

The error I got is:

libname _EXCEXP excel 'C:\blabla\bla.xlsx' ms engine=ACE  replace;
ERROR: A database error occurred. The database specific error follows:
   DATABASE error: Class not registered
data _EXCEXP.'have'n;
           ^
ERROR: Library "_EXCEXP" is not known
set have; run;

3 Answers3

1

"Class not registered" usually means that you have 64 bit SAS and 32 bit Excel. Not sure if WPS has the same issue.

Joe
  • 62,789
  • 6
  • 49
  • 67
0

WPS is different enough that they use different names for their engines. Try using

DBMS=EXCEL2010
Reeza
  • 20,510
  • 4
  • 21
  • 38
0

It is a 64 bits / 32 bits situation. SAS 64 bits has a free solution for using Office 32 bits. There is no such option with WPS; you must have WPS 32 bits version in order to work with Office 32 bits (still standard and recommended by Microsoft).

LucyMLi
  • 657
  • 4
  • 14