您应该使用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为完整的代码示例。 –