以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  合并数据,空行及下面的行不要合并进去,怎么进行控制  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=129710)

--  作者:fubblyc
--  发布时间:2019/1/4 11:56:00
--  合并数据,空行及下面的行不要合并进去,怎么进行控制
        Dim Book As New XLS.Book(fl)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim s As String
        For n As Integer = 1 To Sheet.Rows.Count-1
            Dim r As Row = Tables("微信支付宝明细导入").AddNew()
            For i As Integer = 0 To ColsCount - 1
                Dim cname As String = sheet(0, i).text
                If t.Cols.Contains(cname) Then
                    s = sheet(n, i).Text
                    r(cname) = s
                End If
            Next
            If s = "" Then
                Exit For
            End If
        Next
甜老师,合并数据,空行及下面的行不要合并进去,怎么进行控制呢。。。

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190104115517.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2019/1/4 12:13:00
--  
换一种思路,如果 sheet(n, 0).Text 的值是空字符串或者等于交易时间,那就退出循环或者return呗。
--  作者:fubblyc
--  发布时间:2019/1/4 14:04:00
--  
甜老师,我这样搞定了:
        Dim Book As New XLS.Book(fl)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim s As String
        For n As Integer = 1 To Sheet.Rows.Count-1
            If sheet(n, 0).Text = "" Then
                Return ""
            End If
            Dim r As Row = Tables("微信支付宝明细导入").AddNew()
            For i As Integer = 0 To ColsCount - 1
                Dim cname As String = sheet(0, i).text
                If t.Cols.Contains(cname) Then
                    s = sheet(n, i).Text
                    r(cname) = s                    
                End If
            Next
        Next


--  作者:fubblyc
--  发布时间:2019/1/4 14:19:00
--  
然后要只导入下面的,用这样:
            Dim Book As New XLS.Book(fl)
            Dim Sheet As XLS.Sheet = Book.Sheets(0)
            Dim s As String
            Dim x As Integer
            For n As Integer = 1 To Sheet.Rows.Count-1
                If sheet(n, 0).Text = "交易时间" Then
                    x = n
                End If
            Next
            For xn As Integer = x To Sheet.Rows.Count-1
                Dim r As Row = Tables("微信支付宝明细导入").AddNew()
                For i As Integer = 0 To ColsCount - 1
                    Dim cname As String = sheet(x, i).text
                    If t.Cols.Contains(cname) Then
                        s = sheet(xn+1, i).Text
                        r(cname) = s
                    End If
                Next
            Next