excel automatically treats anything that looks like a number as a number, dates as dates, etc
I believe you'd have to change you report of the data to explicitly place a single quote in the field, which is how Excel knows to override the behavior and treat the value as text...
that's annoying, because you have to do something like this:
SELECT
'''' + TheCode As TheCode,
'''' + '00123' As TheValue,
'''' + CONVERT(VARCHAR,321312321303) As TheDecimal
FROM YourTable
Lowell