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

我正在使用Vs 2008。

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

我一直在使用连接string:

string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + "_EXCEL_FILE_NAME_" + ";Extended Properties=\"Excel 8.0; IMEX=1; HDR=YES\"" 

我尝试了所有的exteneded属性的组合,但没有为我工作。

我在互联网上search,我已经了解到,这是由Microsoft.jet.oledb提供商暴露的一种限制。

请纠正我,如果我错了,并提供一种方法来解决这个问题。

逗号实际上并不是数据的一部分 – 只有在用excel表示的数据表示中!

如果你在Excel中有一个字段是数字数据,但是你需要它在导出时有逗号,那么你需要把它转换成其他types,比如一个string,使用领先'技巧。

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

解决scheme可以在这些线程中find: 这里和这里 。

导入数据时,可能需要通过NumberStylesCultureInfo明确指定数字格式。 这些都是文化特定的,如果你不指定格式,可能会默认你没有想到的东西,并导致很多数值。

为了解决这个问题,每台使用这台计算机的计算机都需要完成以下工作:

  1. 打开registry编辑器
  2. searchTypeGuessRows
  3. 将其更改为0

之后你应该没有更多的问题了…