c#从xls文件读取 – 数据集中缺less的date和数字

当使用下面的代码来读取xls文件时,我没有得到任何包含date或数字的单元格的内容。 包含string数据的单元格返回正常。

var fileName = @"F:\excelfiles\3030497Testing.xls"; var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName); var adapter = new OleDbDataAdapter("SELECT * FROM [mainDetails$]", connectionString); var ds = new DataSet(); adapter.Fill(ds, "SWinv"); DataTable data = ds.Tables["SWinv"]; foreach( DataRow row in data.Rows) { Console.WriteLine(row[3]); // has string data Console.WriteLine(row[11]); // has non-string data - EMPTY } 

当我用stringreplace列K(行[11])中的数据时,会输出这些数据。 即使当我交替行(string,非string不),所以浓缩版本将是:

 column 3 | column 11 || output hello row 1 | 9.5 || hello row 1 hello row 2 | b || hello row 2 b hello row 3 | 21.1 || hello row 3 

另外,当我在debugging器中查看数据集时,应该有这些数据的行上缺less数字,但在那一行上有string“b”。

任何人都可以请指出我在正确的方向吗?

我也尝试过exceldatareader.codeplex.com,但是在数据集中根本没有返回任何数据。

谢谢

如果要将列标题读入结果集(即使有标题,使用HDR = NO),并且列数据为数字,请使用IMEX = 1来避免崩溃。

总是使用IMEX = 1是一种更安全的方式来检索混合数据列的数据。

http://www.connectionstrings.com/excel/