2
votes

I have a handful of SAS datasets in my project file, which I would like to combine into one spreadsheet - each dataset on a different tab. I found a solution here: https://communities.sas.com/thread/58447 but it is not working for me. The code I am using is:

proc export data=work.dod_ltd file='H:\Projects\DOD_Report\Sample.xlsx' dbms=xlsx; sheet='LTD Detail';
proc export data=work.dod_std file='H:\Projects\DOD_Report\Sample.xlsx' dbms=xlsx; sheet='STD Detail';
proc export data=work.dod_life_waiver file='H:\Projects\DOD_Report\Sample.xlsx' dbms=xlsx; sheet='Waiver Detail';
run;

However, instead of adding new tabs, each proc export is overwriting the existing 'Sample.xlsx' file, so I end up with only the 'Waiver Detail' tab.

How do I make it add the tabs to an existing spreadsheet?

Thanks!

Mike

2
What version of SAS are you on? XLSX only supports multiple sheets in later versions of SAS. Try DBMS=ExcelCS.Reeza
SAS 9.3. And that worked! Thank you!!mjavon

2 Answers

3
votes

XLSX only supports multiple sheets per workbook in the later versions, SAS 9.4+. For earlier versions the answer may vary but try changing your DBMS. The DBMS options depend on your version of SAS, your version of Excel as well as the bitness (32/64bit) of each application.

 DBMS=EXCELCS
1
votes

You have forgot to put run statements after every proc export and also add replace after DBMS statement and it should work.