You have hit one of the limitations of Excel. It is explained here
http://support.microsoft.com/kb/kb78113 but essentially it arises from A
floating-point number is stored in binary in three parts within a 65-bit
range: the sign, the exponent, and the mantissa. .
1 Sign Bit 11 Bit Exponent 1 Implied Bit 52 Bit Mantissa
What this means is that the greatest precision available is expressed by the
52 bit binary mantissa. In decimal terms it means that you can only use 15
digit precision.
If you want to use greater precision than this you need to develop your own
routines for handling the numbers. This is sometimes done by separating the
number at the decimal point. If you do not use arithmetic on the numbers this
is fairly simple (import as text and then parse at the decimal point) If you
use arithmetic the routines can get complex.