2012-11-13 88 views
0

工具:asp.net VB,2010的SpreadsheetGear的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

我不完全按照你正在嘗試做什麼。例如,您想要查找與您的3段數據相關的單元格?你想在這一點插入更多的單元格或行嗎?移動7列和3列的意義何在?隨意闡述你的要求。 –

回答

0

Tim,謝謝你的問題。第一次問,所以我可能不是很清楚。我今天確實找到了答案。我有一組需要上傳的單元格。問題在於,它們將在頁面上下移動,具體取決於上面部分中輸入的行數。我意識到,我知道這是要什麼樣的列是在,所以我進行以下操作:

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值作爲我的細胞羣的左下角。我知道這些值超過了7列,從20列減少了20列,這給我帶來了價值的尷尬。

以爲我會分享以防萬一任何人都有同樣的問題。