Opening CSV file in Excel corrupts telephone number column

I export listview data to csv file. There is a column, 'Contact No'. This column's data type is 20 field size of text in MS access. Opening this csv with Notepad, it shows the actual data value, 12345678901234567890. But opening it with MS Excel, it shows 12345678901234500000. :O

Why are the last 5 characters changed to all zero? In Excel, I re-format this column to 'Custom' or 'Number' category format. After this, it shows 12345678901234500000. If not re-format, normally it shows 1.23457E+19.


One suggestion is to put an apostrophe in front of the number when you export the data to CSV format. So instead of 12345678901234567890 export '12345678901234567890.


Excel is treating the data as a floating point number, which it is able to approximate as 1.23457E+19.

Floating point does not give 20 digits of precision.

It is a limitation of Floating Point. See this page