Excel18位數字類型轉換C#類型 1.問題描述 在讀取Excel的時候數字如 身份證 手機號 或其他數字類型 會被Excel常規模式轉換成1.000E+17 或其他類似的數字 當C#讀取轉換時 可根據情況 如 手機號11位 可直接讀取或用int型轉換 但當是身份證 18位 超過int型最大值 用double類型轉換還是上面的 必須用long類型轉換 2.解決思路 如果身份證在Excel中為文本模式 如:1111111111111111111 可以直接用: [csharp] string s=long.Parse("11111111111111111").ToString(); 如果在Excel中為常規模式 如:1.1111E+17 用上面的方法會報錯 因為Parse方法默認解析格式為Integer類型,可以指定參數格式解決 [csharp] string s=long.Parse("11111111111111111", System.Globalization.NumberStyles.Float).ToString();