Foxtable(狐表)用户栏目专家坐堂 → excel取指定值填入新增行


  共有2145人关注过本帖平板打印复制链接

主题:excel取指定值填入新增行

帅哥哟,离线,有人找我吗?
zoyong
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:656 积分:7786 威望:0 精华:0 注册:2015/8/24 9:02:00
excel取指定值填入新增行  发帖心情 Post By:2018/1/19 14:11:00 [只看该作者]

交易明细
批次号 付款人账号 付款人姓名 批次名称 交易日期 交易笔数 交易金额
212638462 6210880100005051000 外挂建造师费用 20180115 11:06:13 13 16100.00
序号 收款人账号 收款人姓名 接收行行名 交易金额 转账方式 交易结果 备注
1 101001840970252 曹爱芳 浙江省农村信用社联合社 1000.00 快速汇款 已发送 建造师费用
2 6222081207001397105 龚丰平 中国工商银行 1000.00 快速汇款 已发送 建造师费用
3 6222081207002863980 吴彩红 中国工商银行 1000.00 快速汇款 已发送 建造师费用
4 6228480362316105810 徐德仙 中国农业银行股份有限公司 1300.00 快速汇款 已发送 建造师费用


上表导入表后,excel表取定值A4数据填充到新增行的批次号列上,E4数据填充到新增行的日期列上

现在下面的代码可以导入,但是没有导入批次号和日期
求大神帮忙修改一下代码    

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
dlg.Filter= "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    For Each file As String In dlg.FileNames
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Tables("cw_批量打款民泰").StopRedraw()
        '注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
        Dim nms() As String = {"序号","收款人账号","收款人姓名","接收行行名","交易金额","转账方式","交易结果","备注"}
        '注意下面的循环变量从6开始,而不是从0开始,因为Excel表的第一行是标题
        For n As Integer = 5 To Sheet.Rows.Count -1
            Dim bh0 As String = sheet(n,0).Text
            Dim bh1 As String = sheet(n,1).Text
            Dim bh2 As String = sheet(n,2).Text
            Dim bh3 As String = sheet(n,3).Text
            Dim bh4 As String = sheet(n,4).Text
            Dim bh5 As String = sheet(n,5).Text
            Dim bh6 As String = sheet(n,6).Text
            Dim bh7 As String = sheet(n,7).Text
            Dim filter As String = "1=1"
            If bh0 > "" Then
                filter &= " and 序号 = '" & bh0 & "'"
            Else
                filter &= " And 序号 Is null"
            End If
            If bh1 > "" Then
                filter &= " and 收款人账号 = '" & bh1 & "'"
            Else
                filter &= " And 收款人账号 Is null"
            End If
            If bh2 > "" Then
                filter &= " and 收款人姓名 = '" & bh2 & "'"
            Else
                filter &= " And 收款人姓名 Is null"
            End If
            If bh3 > "" Then
                filter &= " and 接收行行名 = '" & bh3 & "'"
            Else
                filter &= " And 接收行行名 Is null"
            End If
            If bh4 > "" Then
                filter &= " and 交易金额 = '" & bh4 & "'"
            Else
                filter &= " And 交易金额 Is null"
            End If
            If bh5 > "" Then
                filter &= " and 转账方式 = '" & bh5 & "'"
            Else
                filter &= " And 转账方式 Is null"
            End If
            If bh6 > "" Then
                filter &= " and 交易结果 = '" & bh6 & "'"
            Else
                filter &= " And 交易结果 Is null"
            End If
            If bh7 > "" Then
                filter &= " and 备注 = '" & bh7 & "'"
            Else
                filter &= " And 备注 Is null"
            End If
            Dim dr As DataRow = DataTables("cw_批量打款民泰").Find(filter)
            If dr Is Nothing Then '如果不存在同编号的订单
                dr =  DataTables("cw_批量打款民泰").AddNew()
            End If
            For m As Integer = 0 To nms.Length - 1
                dr(nms(m)) = Sheet(n,m).Value
            Next
        Next        
        Tables("cw_批量打款民泰").ResumeRedraw()
        CurrentTable.Save
    Next 
End If

 回到顶部