I suggest your issue isn't with SAS but with the loose typing of Excel. I suspect these are not the first rows of data in your spreadsheet either. Through a SAS option, SAS reads a given number of rows of data in Excel to try to determine the variable type. If you have missing values, then clearly Excel has convinced SAS that the column contains numeric data.
When SAS then encounters numbers with embedded hyphens or character values, it cannot create numeric values, so it reports the values are missing numeric content.
This is a very common problem and is often circumvented by adding a dummy row that contains character data in the first row, to force the data to be read as character. Then the first row is dropped from the table.
Kind regards
David