string
strConnstring excelName
//注意:把一个excel文件看做一个数据库,一个sheet看做一张表。语法 "SELECT * FROM
[sheet1$]",表单要使用"[]"和"$"
//
1、HDR表示要把第一行作为数据还是作为列名,作为数据用HDR=no,作为列名用HDR=yes;
//
2、通过IMEX=1来把混合型作为文本型读取,避免null值。
strConn = @"Provider=Microsoft.Jet.OLEDB.4.0Data Source='{0}'Extended
Properties='Excel
8.0HDR=YESIMEX=1'"
string strConnection = string.Format(strConn,
excelPath)
OleDbConnection conn = new
OleDbConnection(strConnection)
conn.Open()
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + excelName +
"$]", strConnection)
dtGBPatient.TableName =
"gbPatientInfo"
oada.Fill(dtGBPatient)//获得datatable
conn.Close()
由于你返回的数据类型是DataTable,而DataTable里面是由数据记录(数据行)组成的,所以你要取a 的值,可以利用如下方法:string c=""
for(int i=0i<dt.Rows.Counti++)
{
c=dt.Rows[i]["a"] as string
……其它代码
}
你这好像是统计数据了,应该在数据库完成的不过,如果你想进一步筛选datatable,可以使用Select方法
Select使用:select("字段1=1002")
希望能够帮到你
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)