2017-03-21 8 views
1

세미콜론으로 구분 된 내용으로 텍스트 파일을 반복하는 응용 프로그램을 작성하고 다른 Excel 파일의 특정 열에있는 모든 값을 검색하려고합니다.excel.Range.Find가 잘못된 값을 반환 함 C#

Excel에서 텍스트 파일을 열 수 있으며 올바른 방법으로 열립니다 (앱을 표시하고 올바르게 형식을 지정했는지 확인했습니다). 이제 텍스트 테이블을 반복하고 Excel.Range.Find 메서드를 사용하면 항상 잘못된 행을 반환합니다.

Microsoft.Office.Interop.Excel.Range current_find = usedRange_2.Cells[3].Find((String)(row.Cells[7]).Value2 
Microsoft.Office.Interop.Excel.Range first_find = null 

//for each row in tableOftextFile 
if (first_find == null && current_find!=null) 
    { 
      first_find = current_find; 
    } 
do 
    { 
    if (((String)current_find.Cells[3].Value2).Contains((String)row.Cells[7].Value2)) 
     { 
      //this part is never reached somehow. 
      break; 
     } 
    else 
    { 
     current_find = usedRange_2.FindNext(current_find); 
    } 
    } while (current_find!=first_find && current_find!=null); 

내 응용 프로그램의 모든 항목이 정상적으로 작동하므로 통합 문서 나 시트 또는 그 밖의 모든 문제가 없어야합니다.

값이 존재하기 때문에 찾기 작업이 무언가를 발견해야 내가 값이 "40"에 대한 검색 결과가 current_find에 반환되는 경우 내가 예를 엑셀 응용 프로그램에서 수동으로 검색하여 정확한 결과를 얻을 수 있지만, current_find.Cells[3].Value2입니다 "42"또는 이와 비슷한하지만 예상 한 결과가 아닙니다.

누군가가 내게 힌트를 주거나 훌륭한 해결책이 될 수 있다면. 당신이

답변

0

죄송합니다 :) 감사, 나는 내 실수를 발견하고 다른 사람이 같은 않는 경우, 여기에 대답 :

나는 Excel.Find 방법 경기에 행을 반환 생각하지만를 반환하는 것 일치하는 셀. 그래서 current_find.Cells[3].Value2current_find.Value2으로 수정 했으니 까 좋습니다.