0
我用这个功能来读取XLS信息(2003)文件读字段类型错误文件
var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", path);
var adapter = new OleDbDataAdapter("SELECT * FROM [page1$]", connectionString);
var ds = new DataSet();
adapter.Fill(ds, "anyNameHere");
var data = ds.Tables["anyNameHere"].AsEnumerable();
List<client> query = data.Where(x => x.Field<string>(1) != string.Empty)
.Select(x =>
new client
{
Code = x.Field<string>(1) != null ? x.Field<string>(1) : "None",
name = x.Field<string>(2),
}
在文件中的一些代码有一个整型格式,如“2100”以及其他类似的“G200”,但场(1)被读取为double,并且不能读取第二个类型(转换错误)。我看了一下xls文件和标准类型的列,即使我把它写成文本,但我有同样的问题。
PS:我一步一步使用,发现数据具有第二种类型NULL的字段代码。
@GertArnold:
1 => M; 2801; Ronald
2 => M; 3005; Soufian
3 => F; 2009;伊丽莎白
。
。
121 => M; G125; khaled => le code est lu null
虽然我不能帮你在你的问题的细节(不流利的C#),我可以告诉你,当连接到一个Excel文件作为数据库时,适配器“猜测”的数据类型基于你桌子前几行的内容。希望有所帮助。 – Pynner 2011-12-28 19:12:41
@Pynner:我用第二种类型的代码在文件的第一个中写了一些ligne,但是在数据中是NULL! – Akrem 2011-12-29 08:56:59
请在您的帖子中显示xls的前几行。 – 2012-01-12 08:09:14