您應該使用ExecuteScalar
方法,而不是其他任何方法,因此您將加載確切的標量而不是數據集。
這裏一個例子,我只是從網上覆制的,如果你已經創建了一個名爲myRange1在Excel範圍,假設只包含1的整數值小區,這裏是如何得到它:
using System;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string filename = "filename.xls";
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + @";Extended Properties=""Excel 8.0;HDR=1;IMEX=1""";
string sql = "SELECT * FROM myRange1";
using(var conn = new OleDbConnection(connString);
using(var cmd = new OleDbCommand(sql, conn);
{
conn.Open();
Int32 myReturnScalar = Convert.ToInt32(cmd.ExecuteScalar());
}
}
}
}
+ 1爲完整的代碼示例。 –