如何在 SAS 中导出 xlsx 文件
How to export xlsx files in SAS
以下两个导出将在我的机器上出现错误(在 SAS base 和 SAS Enterprise Guide 中):
proc export data= sashelp.shoes
outfile= " D:\SAS\myfile.xlsx"
dbms=xlsx replace;
sheet="Shoes";
run;
proc export data= sashelp.class
outfile= " D:\SAS\myfile.xlsx"
dbms=excelcs replace;
sheet="Class";
run;
因为这些导出分别产生以下错误:
ERROR: DBMS type XLSX not valid for export.
ERROR: DBMS type EXCELCS not valid for export.
通过浏览互联网,我认为问题是由将文件从 64 位 SAS 版本导出到 32 位 Excel 版本引起的。
我从SAS Support website下载并安装了pcfilesrv__931401__win__en__web__1.zip
,希望它能解决问题,但是仍然出现错误。
有人有其他想法吗?
规格:
Windows 64 位操作系统
SAS 企业价格指南 5.1(64 位)
SAS Base 9.3(64 位)
Excel 2013(32 位)
编辑:
@Grinvydas Kareiva 在他的回答中提到我需要 "SAS/Access Interface to PC Files"。这个安装向导在我从 SAS 支持网站(见上文)下载的 zip 文件中 运行ning setup.exe
之后。
但是,当我 运行 proc setinit
时,它没有出现在任何地方(手动更改站点编号和名称):
Site name: 'xxxxxxx'.
Site number: xxxxxx.
Expiration: 01SEP2017.
Grace Period: 62 days (ending 02NOV2017).
Warning Period: 31 days (ending 03DEC2017).
System birthday: 01NOV2016.
Operating System: WX64_WKS.
Product expiration dates:
---Base SAS Software 01SEP2017
---SAS/STAT 01SEP2017
---SAS/GRAPH 01SEP2017
---SAS Enterprise Guide 01SEP2017
---SAS Workspace Server for Local Access 01SEP2017
我是不是做错了什么?
首先,您需要获得许可 "SAS/ACCESS Interface to PC Files"。
提交后可以在日志中查看
proc setinit;
run;
如果你有那个接口,其中一个应该可以工作
dbms=excel or dbms=xlsx
在 SAS 9.4 TS1M1 及更高版本中,您可以使用 ods excel
导出实际的 xlsx 文件,而无需访问 PC 文件的许可。在 SAS 9.3 中,此功能不可用。
use the below code to export excel or csv file
/*import the .xlsx or csv file */
FILENAME REFFILE '/<path to file>/Statistic_Details.xlsx';
PROC IMPORT DATAFILE=REFFILE
DBMS=XLSX
OUT=libref.Statistic_Details;
GETNAMES=YES;
RUN;
PROC CONTENTS DATA=libref.Statistic_Details; RUN;
以下两个导出将在我的机器上出现错误(在 SAS base 和 SAS Enterprise Guide 中):
proc export data= sashelp.shoes
outfile= " D:\SAS\myfile.xlsx"
dbms=xlsx replace;
sheet="Shoes";
run;
proc export data= sashelp.class
outfile= " D:\SAS\myfile.xlsx"
dbms=excelcs replace;
sheet="Class";
run;
因为这些导出分别产生以下错误:
ERROR: DBMS type XLSX not valid for export.
ERROR: DBMS type EXCELCS not valid for export.
通过浏览互联网,我认为问题是由将文件从 64 位 SAS 版本导出到 32 位 Excel 版本引起的。
我从SAS Support website下载并安装了pcfilesrv__931401__win__en__web__1.zip
,希望它能解决问题,但是仍然出现错误。
有人有其他想法吗?
规格:
Windows 64 位操作系统
SAS 企业价格指南 5.1(64 位)
SAS Base 9.3(64 位)
Excel 2013(32 位)
编辑:
@Grinvydas Kareiva 在他的回答中提到我需要 "SAS/Access Interface to PC Files"。这个安装向导在我从 SAS 支持网站(见上文)下载的 zip 文件中 运行ning setup.exe
之后。
但是,当我 运行 proc setinit
时,它没有出现在任何地方(手动更改站点编号和名称):
Site name: 'xxxxxxx'.
Site number: xxxxxx.
Expiration: 01SEP2017.
Grace Period: 62 days (ending 02NOV2017).
Warning Period: 31 days (ending 03DEC2017).
System birthday: 01NOV2016.
Operating System: WX64_WKS.
Product expiration dates:
---Base SAS Software 01SEP2017
---SAS/STAT 01SEP2017
---SAS/GRAPH 01SEP2017
---SAS Enterprise Guide 01SEP2017
---SAS Workspace Server for Local Access 01SEP2017
我是不是做错了什么?
首先,您需要获得许可 "SAS/ACCESS Interface to PC Files"。 提交后可以在日志中查看
proc setinit;
run;
如果你有那个接口,其中一个应该可以工作
dbms=excel or dbms=xlsx
在 SAS 9.4 TS1M1 及更高版本中,您可以使用 ods excel
导出实际的 xlsx 文件,而无需访问 PC 文件的许可。在 SAS 9.3 中,此功能不可用。
use the below code to export excel or csv file
/*import the .xlsx or csv file */
FILENAME REFFILE '/<path to file>/Statistic_Details.xlsx';
PROC IMPORT DATAFILE=REFFILE
DBMS=XLSX
OUT=libref.Statistic_Details;
GETNAMES=YES;
RUN;
PROC CONTENTS DATA=libref.Statistic_Details; RUN;