Excel is just a terrible data source....
If you have a header row in your Excel sheet then one way to go would be to read this header row also as data (header=no) which will read all data into SAS character variables (A,B,C...). Then use a 2nd data step (firstobs=2) where you convert what should be numeric into new variables.
If you're dealing with a variety of date/datetime strings in your source data (and the character variables in the first table after import) for which there isn't a single SAS informat then you could use code along the line of below.
if not missing(initial_var) then
do;
new_var=input(initial_var,?? <informat_1>);
if missing(new_var) then new_var=input(initial_var,?? <informat_2>);
....and so on until you've exhausted the possibilities....
end;
... View more