我正试图从我的excel中读取一个命名区域,如下所示:
conn.Open();
using (OleDbCommand cmd1 = new OleDbCommand("SELECT * FROM [NamedRange]"))
{
cmd1.Connection = conn;
//conn.Open();
var result = cmd1.ExecuteReader();
while (result.Read())
{
var str = result[0].ToString();
}
}
代码运行但跳过while循环。我知道应该读取我的命名范围,因为这种方法有效:
OleDbDataAdapter da2 = new OleDbDataAdapter("Select * from [NamedRange]”, conn);
DataTable dt2 = new DataTable();
da2.Fill(dt2);
foreach (DataColumn Col in dt2.Columns)
{var str = Col.Caption}
我无法弄清楚为什么第一种方法不起作用。