Proc导出和Proc在WPS / SAS中导入XLSX

时间:2016-11-18 19:05:44

标签: sas wps

我正在使用WPS(本质上是在SAS中编写),我正在尝试执行proc导入和proc导出xlsx文件,但它一直给我错误。我真的不知道我实际使用的是哪个版本的SAS,因为编译器是WPS。在完成这些简单的任务时,我将不胜感激任何帮助!

对于proc导入,我使用的代码是这样的:

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

我得到的错误是:

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

对于proc导出,我使用的代码是这样的:

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

我得到的错误是:

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 个答案:

答案 0 :(得分:1)

“未注册的类”通常表示您具有64位SAS和32位Excel。不确定WPS是否有同样的问题。

答案 1 :(得分:0)

WPS与他们的引擎使用不同的名称是不同的。 尝试使用

DBMS=EXCEL2010

答案 2 :(得分:0)

这是64位/ 32位的情况。 SAS 64位具有使用Office 32位的免费解决方案。 WPS没有这样的选择;您必须具有WPS 32位版本才能使用Office 32位(仍然是标准并由Microsoft推荐)。