2012-02-16 95 views
0

我有一個插入數據到SQL Server的Excel表,但注意到一個特定的領域,數據正在插入與e,這個特定的字段的類型varchar和大小20.爲什麼從Excel導入到SQL Server的數字包含字母e?

爲什麼e是插入時,這些各自領域的實際數據是54607677038,77200818179和9920996.

幫我出

感謝期待。

+0

問題是? – 2012-02-16 09:13:43

+0

數據庫中該列的數據類型? – 2012-02-16 09:14:44

+0

在你的代碼中有一個地方可以將'double'轉換爲'string',然後將它插入數據庫表中。那就是你需要看的地方。 – dasblinkenlight 2012-02-16 09:16:40

回答

3

可能認爲「2007038971」作爲僅僅是一個數字的字符串(某種物品代碼,我猜)。 Excel只會看到數字並將其視爲數值。它可能是右對齊的(默認爲數字),而不是左對齊(字符串的默認值)。

當被要求以字符串形式存儲時,它'有用'將該數字格式化爲一個字符串,從而引入了「e」符號(值爲2007038971約爲2.00704 * 10^9)。

你需要說服Excel,該代碼確實是一個字符串,也許在它前面添加一個引號。

0

這個怎麼樣。當你從excel中讀取值時,然後轉換ToString()並插入到數據庫中。需要根據您的Excel中的數據更改相關的數據類型。

double doub = 2.00704e+009; 
string val = doub.ToString(); 
+0

我只需要一個原因爲何插入'e'而不是糾正它的解決方案。 – 2012-02-16 09:24:41

相關問題