How do I stop Excel from converting value 0503E000 to 5.03E+02 automatically?

If you can convert or control the CSV format, you can force a column to parse as text in Excel by wrapping it in double quotes and prepending an equals sign.

Excel will carelessly discard precision in this format:

Value,0503E000,1234123412341234

Or even this format:

Value,"0503E000","1234123412341234"

Converting it to:

Value  |  5.03E+02  |  1234123412341230

However, adding the equals sign forces Excel to begrudgingly preserve your data:

Value,="0503E000",="1234123412341234"

…which opens as:

Value  |  0503E000  |  1234123412341234

I think the key issue here is that you are using a CSV, which does not have the cell type embedded in it. Excel automatically tries to interpret the cell as having a scientific number which is why you are seeing 5.03E+02 instead of 0503E000.

Try creating an Excel workbook and formatting all of the cells as text, and then pasting in the data. I tried it in Excel 2013 and it worked.


Instead of Opening" the CSV file in Excel, select to Import the file (in Excel 2007-2010 you would navigate to the Data Ribbon / Get External Data / From Text). Not sure about 2013 but there should be something similar. When you do that, the Text Import wizard will open and afford you the opportunity to format the column containing that Value as Text, before Excel (not so helpfully) changes it to a numeric value.