Sql server 为什么从Excel导入SQL Server的数字包含字母e?

Sql server 为什么从Excel导入SQL Server的数字包含字母e?,sql-server,excel,import,Sql Server,Excel,Import,我有一个excel工作表,它将数据插入SQL Server,但注意到对于一个特定字段,数据是用e插入的,这个特定字段的类型是varchar,大小为20 当这些字段的实际数据为54607677038、77200818179和9920996时,为什么要插入e 帮帮我 期待您的光临。这个怎么样。从excel中读取值时,将其转换为ToString()并插入到DB中。需要根据excel中的数据更改相关数据类型 double doub = 2.00704e+009; string val = doub.

我有一个excel工作表,它将数据插入SQL Server,但注意到对于一个特定字段,数据是用e插入的,这个特定字段的类型是varchar,大小为20

当这些字段的实际数据为54607677038、77200818179和9920996时,为什么要插入e

帮帮我


期待您的光临。

这个怎么样。从excel中读取值时,将其转换为ToString()并插入到DB中。需要根据excel中的数据更改相关数据类型

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

这个怎么样。从excel中读取值时,将其转换为ToString()并插入到DB中。需要根据excel中的数据更改相关数据类型

 double doub = 2.00704e+009;
 string val = doub.ToString();
您可能会认为“2007038971”只是一个数字串(我猜是某种文章代码)。Excel只看到数字并将其视为数值。它可能是右对齐的(默认为数字),而不是左对齐的(默认为字符串)

当被要求以字符串形式存储时,它“有益地”将该数字格式化为字符串,从而引入“e”符号(值2007038971约为2.00704*10^9)

您需要让Excel相信该代码实际上是一个字符串,可以在其前面添加一个引号。

您可能会认为“2007038971”只是一个数字字符串(我猜是某种文章代码)。Excel只看到数字并将其视为数值。它可能是右对齐的(默认为数字),而不是左对齐的(默认为字符串)

当被要求以字符串形式存储时,它“有益地”将该数字格式化为字符串,从而引入“e”符号(值2007038971约为2.00704*10^9)


您需要让Excel相信该代码实际上是一个字符串,可以在其前面添加一个引号。

DB中该列的数据类型?在代码中的某个地方,您可以在将
double
插入数据库表之前将其转换为
string
。这就是您需要查看的地方。请扩展您的问题,以包括以下详细信息:Excel中的值是多少(我怀疑是一长串数字,Excel将其视为一个数字)?如何将Excel插入SqlServer?@Thit varchar大小50@Hans根据数据库中该列的requestData类型添加了详细信息?在代码中的某个位置,您可以将
double
转换为
string
,然后再将其插入数据库表中。这就是您需要查看的地方。请扩展您的问题,以包括以下详细信息:Excel中的值是多少(我怀疑是一长串数字,Excel将其视为一个数字)?如何将Excel插入SqlServer?@Thit varchar大小50@Hans根据您的请求添加了详细信息我只需要插入“e”的原因,而不是纠正它的解决方案。我只需要插入“e”的原因,而不是纠正它的解决方案。