2011-12-04 48 views
0

我有有列名的Excel文件(name),它具有如下條目:如何搜索字符串在Excel中的一列文件

  1. VIPIN
  2. VIPIN
  3. VIPIN
  4. VIPIN

我想在name列數項在我的字符串是"vipin"。使用OLEDB數據提供程序。

+0

其實我不知道如何在excel中搜索特定的字符串。 String strConn =「Provider = Microsoft.jet.OLEDB.4.0;」 +「數據源=」d:\ vipin.xls「+」擴展屬性= Excel 8.0;「; DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(」SELECT count(*)FROM [Sheet1 $]其中name =「vipin」,strConn); –

+0

拿出計數部分,只是與DataSet(ds):) – Kenoyer130

回答

2

你是否將excel表格拉入DataTable中?

OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter( 
      "select * from [" + worksheetName + "$]", con); 

     con.Open(); 
     System.Data.DataSet excelDataSet = new DataSet(); 
     cmd.Fill(excelDataSet); 
     con.Close(); 

如果是這樣,就像正常一樣遍歷DataRows。

foreach(DataRow dataRow in excelDataSet.Tables[0].Rows){ 
    if(dataRow["columnName"].ToString().Equals("vipin")){ 
     count++; 
    } 
} 
+0

其顯示錯誤當我運行此代碼「foreach(var dataRow in ds.Tables [0] .Rows())」。它說(system.data.datatble.rows不能像方法一樣使用。 –

+0

@vipinkatiyar:嘗試'foreach(var dataRow in ds.Tables [0] .Rows)' – Otiel

+0

@Otiel我已經做了,但接下來錯誤是dataRow [「Name」]。它說,可以應用索引。 –