读书人

OleDb读取Excel时 怎么使用sql条件查

发布时间: 2013-07-20 11:07:48 作者: rapoo

OleDb读取Excel时, 如何使用sql条件查询
代码如下

//using System.Data;
//using System.Data.OleDb;



String file_name = "P:/test.xls";
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file_name + ";Extended Properties=Excel 8.0;";

OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);

OleDbDataAdapter obad = new OleDbDataAdapter();
obad.SelectCommand = objCmdSelect;
DataSet ds1 = new DataSet();
obad.Fill(ds1, "table1");
objConn.Close();

// 这里, 如何查询 第一列, 等于 tester 的数据
ds1.Tables[0].Select("A='tester'");

GridView1.DataSource = ds1;
GridView1.DataBind();





//test.xls 表格数据如下
//注明, 工号, 那列是第一行 , tester 第二行

工号 名称 基本工资 实发工资 合计
tester test 11 222 333
tester2 test2 22 333 555

excel oledb
[解决办法]
引用:
我想查询, excel里, A列(即工号) 等于 tester 的数据记录。。。

ds1.Tables[0].Select("[工号]='tester'");
[解决办法]
要再转成DataTable

private DataTable getDataTable(DataTable sdata, string cond)
{
DataTable dt = sdata.Clone();
DataRow[] _data = sdata.Select(cond);
foreach (DataRow row in _data)


{
dt.Rows.Add(row.ItemArray);
}
return dt;
}

读书人网 >asp.net

热点推荐