2011-12-04 2 views
0

나는이 열 이름을 엑셀 파일에 다음 항목이 있습니다 (name) :Excel 파일의 열에서 문자열을 검색하는 방법

  1. 비핀
  2. 비핀
  3. 비핀
  4. 비핀

내 문자열어디가 name 열에서 항목을 계산하려면 210. OLEDB 데이터 공급자 사용

+0

실제로 나는 특정 문자열을 Excel에서 검색하는 방법을 모릅니다. String strConn = "Provider = Microsoft.jet.OLEDB.4.0;" OleDbDataAdapter da = 새 OleDbDataAdapter ("SELECT count (*) FROM [Sheet1 $]") "+"데이터 원본 = "d : \ vipin.xls"+ 확장 속성 = Excel 8.0; where name = "vipin", strConn); –

+0

카운트 부분을 꺼내서 DataSet (ds)로 작업합니다. – Kenoyer130

답변

2

엑셀 시트를 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(); 

그렇다면 일반처럼 DataRow를 반복하면됩니다.

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

"foreach (ds.Tables [0] .Rows())에서 var dataRow"코드를 실행할 때 오류가 표시됩니다. (system.data.datatble.rows는 메소드처럼 사용할 수 없다.) –

+0

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

+0

@Otiel 나는 이미 그랬지만 다음은 끝냈다. 오류는 dataRow [ "Name"]입니다. 인덱싱을 적용 할 수 없다고 말합니다. –

관련 문제