C# OleDb Excel:没有为一个或多个必需参数提供值

C# OleDb Excel:没有为一个或多个必需参数提供值,c#,.net,c#-4.0,oledb,C#,.net,C# 4.0,Oledb,我试图从excel文件中获取一些数据,问题是我将第一行作为数据读取,因此我决定将connectionString中的HDR更改为Yes,但之后我的程序会出现主题标题中命名的异常 这是我的代码和我的查询: select top 10 * FROM [PERSONNE$] WHERE (((([F1] LIKE '% prénom %') OR ([F1] LIKE '% prénom')) OR ([F1] LIKE '%-prénom'))) 电话: DataTable dt = Utils

我试图从excel文件中获取一些数据,问题是我将第一行作为数据读取,因此我决定将connectionString中的HDR更改为Yes,但之后我的程序会出现主题标题中命名的异常

这是我的代码和我的查询:

select top 10 * FROM [PERSONNE$] WHERE (((([F1] LIKE '% prénom %') OR ([F1] LIKE '% prénom')) OR ([F1] LIKE '%-prénom')))
电话:

 DataTable dt = Utils.queryXlsFile(Qry, dbConnection);
queryXlsFile方法:

public static DataTable queryXlsFile(String query, OleDbConnection dbConnection)
{
    OleDbDataAdapter dbCommand = new OleDbDataAdapter(query, dbConnection);
    DataTable dt = new DataTable();
    dbCommand.Fill(dt);
    return dt;
}
我的问题是:

select top 10 * FROM [PERSONNE$] WHERE (((([F1] LIKE '% prénom %') OR ([F1] LIKE '% prénom')) OR ([F1] LIKE '%-prénom')))
我的连接字符串似乎很好,因为我可以打开与文件的连接


提前感谢您的帮助。

如果您的HDR=No,列名将自动生成为F1、F2、

如果HDR=Yes,则列名将取自电子表格的标题行

您需要将查询中的“F1”替换为标题行中的字段名