如何使用 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;"表示相反。也许这就是问题所在。
我有一份 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;"表示相反。也许这就是问题所在。