使用SAS导出到Excel

假设我有2个SAS数据集:test1.sas&Test2.sas。 现在我想将这2个数据集导出到excel中,在excel文件Sheet1中将有test1.sas数据,在Sheet2中将有test2.sas数据。

怎么做?

从本文开始。 这和这也是很好的参考。

使用ODS,您可以使用报告过程(例如Proc PRINT和REPORT)将数据输出到XML。 您不仅可以创build多张表格输出,还可以格式化date,设置自动筛选器和放置标题。

@ CarolinaJay65答案中的ODS方法非常灵活,但是如果你只是想要一个原始的导出,它们可能是过度的。

如果SAS安装中提供了一个更简单的选项,则使用excel libname引擎。 这使您可以使用excel工作簿作为sas库,库中的每个数据集都占用工作簿中的一个工作表。

http://www.wuss.org/proceedings09/09WUSSProceedings/papers/app/APP-Benjamin.pdf

如果您还想自动化大量格式或生成更多输出(例如图表),则使用ODS的替代方法是创buildVBAmacros,将其保存在模板工作簿中,并让SAS调用该macros以通过DDE命令:

http://www.lexjansen.com/pharmasug/2005/coderscorner/cc21.pdf

这使您可以使用Excel的macroslogging器来捕捉您想要自动化的动作,而不必通过ODS / DDE来制定等效的输出。

如果它不是您想要自动化的东西,而且您正在使用Base SAS IDE,则只需右键单击SAS Explorer窗口中的数据集,然后selectView in Excel

我会说导出到Excel的最简单的方法(取决于您的SAS版本)是使用PROC EXPORT并指定excel作为您的dbms。 您可以指定要更新的相同文件,但对于您调用的每个proc导出,可以指定一个不同的选项卡。

因此,在两个单独的选项卡上有两个数据集的示例:

 proc export data=test1 dbms=excel replace outfile ="C:\Your_file_path\your_file.xls"; sheet = sheet1; run; proc export data=test2 dbms=excel replace outfile ="C:\Your_file_path\your_file.xls"; sheet = sheet2; run;