2014-06-15 5 views
0

Excel에서 WinForm 응용 프로그램을 통해 특정 데이터를 찾은 다음 vb.net을 사용하여 같은 행에 다음 값을 가져 오려고했습니다.vb.net을 사용하여 Excel 시트에서 특정 데이터 찾기

Example: 
ElementName Value 
Age   24 
Name John Clan 
Music Rock 

나이를 찾고 싶다고 가정 해 봅니다. 그럼 나는 Excel 파일에서 검색 24로 코드를 반환하고 싶습니다.

전체 Excel 데이터를 데이터 집합으로 가져 오려고했지만 유용하지 않았습니다.

친절하게 안내해드립니다. 저를 도와

+0

1. Excel 파일을 읽을 수있는 .NET 타사 라이브러리를 선택합니다. 2. 설명서를 읽고 사용 방법을 배웁니다. 3. Excel 파일에서 원하는 데이터를 추출하십시오. – Heinzi

+0

Heinzi에게 감사드립니다. MSDN을 살펴보고 해결책을 찾았습니다. – user3363495

답변

2
Imports Interop = Microsoft.Office.Interop.Excel 

'Find In Excel 
    Private Function FindValueInExcel(ByVal sTextToFind) 
     Dim currentFind As Interop.Range = Nothing 
     Dim firstFind As Interop.Range = Nothing 
     Dim xlappFirstFile As Interop.Application = Nothing 
     Dim sSearchedValue As String 

     xlappFirstFile = CreateObject("Excel.Application") 

     xlappFirstFile.Workbooks.Open("D:\Sample.xlsx") 

     Dim rngSearchValue As Interop.Range = xlappFirstFile.Range("A1", "C5") 

     currentFind = rngSearchValue.Find(sTextToFind, , _ 
      Interop.XlFindLookIn.xlValues, Interop.XlLookAt.xlPart, _ 
      Interop.XlSearchOrder.xlByRows, Interop.XlSearchDirection.xlNext, False) 

     If Not currentFind Is Nothing Then 
      sSearchedValue = DirectCast(DirectCast(currentFind.EntireRow, Microsoft.Office.Interop.Excel.Range).Value2, System.Object)(1, 3).ToString() 
     Else 
      sSearchedValue = "" 
     End If 

     Return sSearchedValue 

    End Function 

링크 - http://msdn.microsoft.com/en-us/library/e4x1k99a.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1

+0

+1하여 솔루션을 공유하십시오! 이 솔루션을 사용하려면 Excel이 설치되어 있어야합니다. – Heinzi

관련 문제