从C#查询Excel文件-无结果

从C#查询Excel文件-无结果,c#,excel,ado.net,oledb,C#,Excel,Ado.net,Oledb,我一直在尝试使用OLEDB连接从C#查询excel文件。程序运行时没有运行时错误,但不会返回任何结果。我用不同的excel文件进行了尝试,但得到了类似的结果 编辑:excel文件位于项目目录中。如果我从当前位置删除excel文件,程序将获得“未找到文件”异常 private void btnRun_Click(object sender, EventArgs e) { string strFileName = "playerData.xls";

我一直在尝试使用OLEDB连接从C#查询excel文件。程序运行时没有运行时错误,但不会返回任何结果。我用不同的excel文件进行了尝试,但得到了类似的结果

编辑:excel文件位于项目目录中。如果我从当前位置删除excel文件,程序将获得“未找到文件”异常

         private void btnRun_Click(object sender, EventArgs e)
    {
        string strFileName = "playerData.xls";
        string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFileName    + ";Extended Properties=" + "\"Excel 8.0;HDR=YES\"";

        OleDbConnection conn = new OleDbConnection(connStr);
        conn.Open();

        OleDbCommand cmd = conn.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "SELECT * FROM [Sheet1$]";

        OleDbDataAdapter da = new OleDbDataAdapter(cmd);

        DataSet ds = new DataSet();
        da.Fill(ds);           

        dgsResults.DataSource = ds;

        conn.Close();
    }
有人知道为什么这不会返回结果吗


谢谢,

您正在connStr中使用strFileName,但尚未提供其路径

应遵循以下原则:

string strFileName = @"c:\excel location\playerData.xls";

显然,在数据绑定过程中必须引用特定的数据表。在fill()方法解决问题后添加以下行

        da.Fill(ds);
        dgsResults.DataSource = ds.Tables[0]; //this is the line to be added