Yes, this is an Excel "feature", much like if you send out 0001, it will change it to 1. The way around this is to to tell Excel what the format of the data is (rather than let it guess). To do this you send extra tags out to the tagset output:
ods tagsets.excelxp file="....xlsx";
proc report data=have nowd;
columns _all_;
define abc / style={tagattr='...'};
run;
..
Here is a paper on it, you would set you tag as text for that, so its displayed as is.
http://support.sas.com/resources/papers/proceedings10/031-2010.pdf
... View more