C# 将数据从excel导入数据集后,数据集中的逗号被删除

C# 将数据从excel导入数据集后,数据集中的逗号被删除,c#,.net,excel,oledbconnection,import-from-excel,C#,.net,Excel,Oledbconnection,Import From Excel,我用的是VS2008 我们有一个导入excel文件的功能,现在excel文件可以包含带逗号的数字数据。但是,当查看数据集时,相同数字列的逗号将被删除 我一直在使用连接字符串: string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + "_EXCEL_FILE_NAME_" + ";Extended Properties=\"Excel 8.0; IMEX=1; HDR=

我用的是VS2008

我们有一个导入excel文件的功能,现在excel文件可以包含带逗号的数字数据。但是,当查看数据集时,相同数字列的逗号将被删除

我一直在使用连接字符串:

string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
            "Data Source=" + "_EXCEL_FILE_NAME_" + ";Extended Properties=\"Excel 8.0; IMEX=1; HDR=YES\""
我尝试了所有扩展属性的组合,但没有任何效果

我在互联网上搜索过,我了解到这是Microsoft.jet.oledb提供商暴露的一种限制


如果我错了,请纠正我的错误,并为我提供一种解决此问题的方法。

逗号实际上不是数据的一部分-它仅在excel中显示的数据表示形式中


如果excel中有一个字段是数字数据,但在导出时要求该字段带有逗号,则需要将其转换为其他类型,例如使用前导的
技巧将其转换为字符串。

逗号实际上不是数据的一部分-它仅在excel中显示的数据表示形式中


如果excel中有一个字段是数字数据,但在导出时要求该字段带有逗号,则需要将其转换为其他类型,例如,使用前导的
技巧的字符串。

问题在于,如果导入使用逗号作为小数分隔符的十进制数,并将其导入使用点作为分隔符的系统,则逗号可能会被解释为千位分隔符

可以在这些SO线程中找到解决方案:和


导入数据时,您可能希望通过
numberstyle
CultureInfo
明确指定数字格式。这些是特定于区域性的,如果您不指定格式,可能会默认为您不期望的格式,并产生非常多的数值。

问题在于,如果您导入一个使用逗号作为小数分隔符的小数,并将其导入一个使用点作为分隔符的系统,逗号可以解释为千位分隔符

可以在这些SO线程中找到解决方案:和


导入数据时,您可能希望通过
numberstyle
CultureInfo
明确指定数字格式。这些是特定于区域性的,如果不指定格式,可能会默认为您不期望的格式,并产生非常多的值。

要解决此问题,使用此格式的每台计算机都需要执行以下操作:

  • 打开注册表编辑器
  • 搜索TypeGuessRows
  • 将其更改为0

  • 在此之后,您将不再有任何问题…

    要解决此问题,使用此功能的每台计算机都需要完成以下操作:

  • 打开注册表编辑器
  • 搜索TypeGuessRows
  • 将其更改为0
  • 在那之后你不应该再有问题了