将数据从excel导入数据集后,将在数据集中删除逗号

时间:2011-12-16 09:10:55

标签: c# .net excel oledbconnection import-from-excel

我正在使用Vs 2008。

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

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

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提供商公开的一种限制。

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

3 个答案:

答案 0 :(得分:3)

逗号实际上并不是数据的一部分 - 它只是在excel中呈现时的数据表示!!

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

答案 1 :(得分:1)

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

可以在这些SO主题中找到解决方案:Herehere

导入数据时,您可能希望通过NumberStylesCultureInfo明确指定数字格式。这些是特定于文化的,如果您没有指定格式,可能会默认为您不期望的内容并导致非常数字值。

答案 2 :(得分:0)

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

  1. 打开注册表编辑器
  2. 搜索TypeGuessRows
  3. 将其更改为0
  4. 之后你应该没有其他问题...