2015-04-17 45 views
1

当通过文件>导入数据将.xlsx文件导入SAS时,出现以下错误。将.xlsx导入SAS时出错9.4

ERROR: Connect: Klassen er ikke registreret 
ERROR: Error in the LIBNAME statement. 
NOTE: Import Cancelled. 

我正在使用64位计算机。 我试图用下面的代码:

proc import out=work.class 
    datafile="C:\Users\Jonathan\Desktop\Mappe\hej.xlsx" 
    DBMS=EXCELCS; 
run; 

但是,这并不工作。有谁知道我该怎么办?

+0

你说“XLSX”,但是这是一个xls,就像一个注释:这些是不同的。你的微软Office有多少位?你有SAS/ACCESS到PC FILES安装吗? – Joe

+0

我打算把它作为其他问题的答案 - 它有更多的信息答案(特别是链接到Chris H的帖子)。如果事实证明,这个问题的原因不同,我会重新打开。 – Joe

回答

2

如果您的文件是真正的XLSX文件,请尝试DBMS=XLSX。您的示例指向一个XLS文件,您应该使用DBMS=EXCEL导入。

+0

DBMS = EXCEL应该导入这两种类型。 DBMS = XLS | XLSX都是很好的和不同的解决方案,我当然会建议尝试一下是否合适。 – Joe

2

试图记住我的高中德语......

几件事情要检查

  1. 确保已安装Excel。 PROC IMPORT使用随Excel一起安装的库

  2. 确保Excel和SAS具有相同的体系结构。当一个是32位,另一个是64位时,我看到过这样的错误。

  3. 确保您的文件在代码中是正确的。你说这是一个xlsx文件,但将其命名为.xls。这些之间有一个很大的文件格式差异。

  4. 如果是XLSX文件,那么您可以使用XLSX libname引擎。 libname blah xlsx 'c:\mydir\myfile.xlsx';。我个人在99%的时间内使用PROC IMPORT。

+1

不知道德国人会帮助你与丹麦...这是“类未注册”的错误,这是常见的这些。 – Joe

+0

是的,我很快意识到这不是德国人!充其量我是C学生! – DomPazz

+0

非常感谢您的回答。这是一个.xlsx文件(对文中的错误感到抱歉)。 我正在使用32位Microsoft Excel和64位SAS。我该如何修复? 我试过 libname blah xlsx'C:\ Users \ Jonathan \ Desktop \ Mappe \ hej.xlsx'; 但是我应该在那之后写什么? – Michael