2012-11-13 4 views
0

도구 : asp.net의 VB,하는 SpreadsheetGear 2010하는 SpreadsheetGear의 .find 방법

나는 외부 사용자의 Excel 파일에서 읽을 필요가 나는 형식을 제어하지 않습니다. 데이터에는 3 가지 섹션이 있습니다. 헤더를 읽을 수 있습니다. 문제는 본문 세부 정보에 무한 수의 행이 포함될 수 있으며 때로는 해당 행이 비어있는 경우입니다. 고유 한 텍스트가 있기 때문에 바닥 글 행을 결정할 수 있습니다. 따라서 다음을 수행 할 수 있습니다.

Dim dFoot As SpreadsheetGear.IRange = worksheet.Cells("20:21").Rows 

Dim rngDet As SpreadsheetGear.IRange 

rngDet = dFoot.Find(what:="UNIQUE TEXT HERE", 
        lookIn:=SpreadsheetGear.FindLookIn.Values, 
        lookAt:=SpreadsheetGear.LookAt.Whole, 
        searchOrder:=SpreadsheetGear.SearchOrder.ByColumns, 
        searchDirection:=SpreadsheetGear.SearchDirection.Next, 
        matchCase:=False, 
        after:=dFoot) 

불행히도, 나는 이제 여기 붙어 있습니다. 셀이 어디에 있는지 (예 : V79) 또는 삽입하기위한 첫 번째 값을 얻기 위해 7 개의 열과 3 개의 열을 이동하는 방법을 결정할 수 없습니다. 나는 오프셋과 다른 방법을 시도했다 rngDet,하지만 행운을 읽으십시오. 또한 활성 셀을 읽으려고 rngDet.Activate()을 시도했지만 Microsoft와 동일하게 작동하지 않습니다.

제공할만한 도움에 감사드립니다.

+0

나는 정확히 당신이하려고하는 것을 따르지 않습니다. 예를 들어 데이터의 세 부분과 관련하여 어떤 셀을 찾으려고합니까? 이 시점에서 추가 셀이나 행을 삽입하려고합니까? 7 열 이상 및 3 열 이동의 중요성은 무엇입니까? 귀하의 요구 사항에 대해 자세히 설명해주십시오. –

답변

0

팀, 질문 해 주셔서 감사합니다. 처음에는 묻지 않았기 때문에 나는 그다지 분명하지 않았습니다. 나는 오늘 나 자신을 위해 해답을 찾았다. 업로드해야하는 셀 그룹이 있습니다. 문제는 위 섹션에서 입력 한 행 수에 따라 페이지를 위아래로 이동한다는 것입니다.

Dim x As Integer 
    Dim xFooter As Integer 
    Dim columnnumber As Integer = 21 'Column V 

    txtTest.Text = worksheet.Cells.RowCount 
    For x = 500 To 1 Step -1 

     If worksheet.Cells(x, columnnumber).Value = "TOTAL PRODUCT COST CALCULATION" Then 
      txtTest.Text = x 
      xFooter = x 
      Exit For 
     End If 
    Next x 

지금은 세포 내 그룹의 왼쪽 구석으로 내 x 값을 사용할 수 있어요 : 나는 그렇게 나는 다음과 수행에있을 무슨 일이 있었는지 열 알고 않았다는 것을 깨달았다. 나는 값이 여기에서 아래로 그리고 아래쪽으로 20 열을 넘는 7 열 이상을 차지한다는 것을 알고 있습니다.

생각 나는 누군가가 같은 문제를 가지고있는 경우를 대비해서 나눌 것입니다.