如何使用 OleDB 从 97/03 Excel 文档中获取 A1 单元格?

How can I get A1 cell from a 97/03 Excel document with OleDB?

我有一份 Excel 97/03 文档,在 sheet "Sheet1" 的 A1 单元格中有 "blabla"。我认为以下应该能够提取它:

      string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book1.xls;" + @"Extended Properties='Excel 8.0;HDR=Yes;'";
      using (OleDbConnection connection = new OleDbConnection(con))
      {
        connection.Open();

        OleDbDataAdapter da = new OleDbDataAdapter("Select * From [Sheet1$]", connection);

        DataTable dt = new DataTable();
        da.Fill(dt);

        dynamic cellA1 = dt.Rows[0][0].ToString();

但是 cellA1 是空的 ("")。任何人都知道如何解决这个问题,我应该能够将其视为数据库并从中获取单元格?

数据表使用第一行数据作为其 headers,要访问 A1 单元格,只需使用第一列的名称:

dynamic cellA1 = dt.Columns[0].ToString();

"HDR=Yes;" 表示第一行包含列名,而不是数据。 "HDR=No;"表示相反。也许这就是问题所在。