我正在使用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;
答案 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推荐)。