我正在使用此代码读取带有 OLEDB 连接的 Excel 文件
var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName);
var fileName = string.Format("{0}\\s23.xls", Directory.GetCurrentDirectory());
var adapter = new OleDbDataAdapter("SELECT * FROM [TEJ3$] ", connectionString);
DataTable dt=new DataTable();
adapter.Fill(dt, "Table1");
运行此代码后,我的数据表已填满。但我有一列包含许多字符串单元格和很少的空单元格;在 Excel 文件中,该单元格具有数值。
有人有主意吗?
在这里检查第一个示例:http://www.connectionstrings.com/excel
经常出错的是 Excel 会根据前 X 行来估计列的类型。当此后值不匹配时,这些行将获得空值。恐怕有时进入注册表是让 Excel 驱动程序首先扫描所有行的唯一方法(如connectionstrings.com 文章中所述)。
在您的环境中尝试 HDR 和 IMEX 设置。在某些情况下这也会有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)