首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spreadsheetgear .find方法

Spreadsheetgear .find方法
EN

Stack Overflow用户
提问于 2012-11-14 03:13:48
回答 1查看 933关注 0票数 0

工具: asp.net VB、SpreadsheetGear 2010

我需要从外部用户读取Excel文件,并且我无法控制格式。有3个部分的数据。我能够读入标题。挑战在于主体详细信息可以包含无限数量的行,有时这些行是空白的。我可以确定脚注行,因为有一段文本是唯一的。因此,我可以执行以下操作:

代码语言:javascript
复制
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列以获得要插入的第一个值。我尝试了offset和不同的读取rngDet的方法,但没有成功。我也尝试过rngDet.Activate()读取活动单元格,但它的工作方式与微软不同。

感谢你能提供的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-11-15 09:41:08

提姆,谢谢你的问题。第一次问,所以我可能不是很清楚。今天我自己确实找到了答案。我有一组手机需要上传。问题是,它们将在页面上上下移动,这取决于在上面的部分中输入了多少行。我意识到我确实知道它将位于哪个列中,所以我执行了以下操作:

代码语言:javascript
复制
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行,这就是我的值象限。

我想我会分享,以防任何人有同样的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13367180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档