从xls文件中读取数据集中缺少的日期和数字
本文关键字:日期 数字 集中 数据集 文件 xls 读取 数据 | 更新日期: 2023-09-27 18:02:00
使用以下代码读取xls文件时,我没有获得仅包含日期或数字的任何单元格的内容。具有字符串数据的单元格返回正常。
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
}
当我用字符串替换K列(行[11])中的数据时,它输出这些。即使我交替行(字符串,非字符串不),所以压缩版本将是:
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
另外,当我在调试器中查看数据集时,数字在应该具有它们的行上缺失,但字符串"b"在该行上。
谁能告诉我正确的方向?我也尝试过exceldatareader.codeplex.com,但在数据集中根本没有返回任何数据。
谢谢
如果您想将列标题读取到结果集中(即使有标题也使用HDR=NO),并且列数据是数字的,则使用IMEX=1以避免崩溃。
对于混合数据列,始终使用IMEX=1是一种更安全的检索数据的方法。
http://www.connectionstrings.com/excel/