以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]EXCEL单个列内容自动填列到狐表的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=146428)

--  作者:HANZHIGANG
--  发布时间:2020/2/23 21:46:00
--  [求助]EXCEL单个列内容自动填列到狐表的问题

窗口1中的 "对账导入" 按钮想实现以下功能:

一、打开【导入用表】这个EXCEL表,如果导入用表中的【上游客户】【清单号】【底盘号】【上游动态】四列中的 任意三列 如和狐表中的表A对应列的内容相同(*需要排除【二次】列为TRUE的数据行),则表A中的【对账金额】列自动填入【导入用表】中的【对账金额】列中。

二、如【导入用表中】有不符合条件的行,则不符合条件的行全部导入到【表B】中。

三、导入完成后,能够弹出一个对话框,提示:导入成功多少条,导入失败多少条。

 

请老师费心


--  作者:HANZHIGANG
--  发布时间:2020/2/23 21:47:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导入测试.table

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导入用表.xlsx


--  作者:有点蓝
--  发布时间:2020/2/23 22:47:00
--  
类似

Dim Book As New XLS.Book("c:\\导入用表.xlsx")
Dim Sheet As XLS.Sheet = Book.Sheets(0)

For n As Integer = 1 To Sheet.Rows.Count -1
    Dim a As String = sheet(n,0).Text
    Dim b As String = sheet(n,2).Text
    Dim c As String = sheet(n,3).Text
    Dim d As String = sheet(n,4).Text
    Dim dr As DataRow = DataTables("表A").Find("上游客户 = \'" & a & "\' and 清单号=\'" & b & "\' and 底盘号=\'" & c & "\'")
    If dr Is Nothing Then \'如果不存在同编号的订单
        sheet(n,5).Text = dr("对账金额")
    Else
        dr = DataTables("表A").Find("上游客户 = \'" & a & "\' and 清单号=\'" & b & "\' and 上游动态=\'" & d & "\'")
        If dr Is Nothing Then \'如果不存在同编号的订单
            sheet(n,5).Text = dr("对账金额")
        Else
            dr = DataTables("表A").Find("上游客户 = \'" & a & "\' and 底盘号=\'" & c & "\' and 上游动态=\'" & d & "\'")
            If dr Is Nothing Then \'如果不存在同编号的订单
                sheet(n,5).Text = dr("对账金额")
            Else
                ……四列中的 任意三列的所有排列组合查询自己补充完整,最后所有可能性都查询完毕没有结果的,在把数据导入B表即可
                Dim nr As DataRow = DataTables("表B").AddNew
                nr("上游客户") = a
                nr("清单号") = b
            End If
        End If
    End If
Next


--  作者:HANZHIGANG
--  发布时间:2020/2/24 19:09:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200224190704.png
图片点击可在新窗口打开查看
老师,贴入代码后出现以上错误提示
--  作者:HANZHIGANG
--  发布时间:2020/2/24 19:09:00
--  

Dim Book As New XLS.Book("c:\\导入用表.xlsx")
Dim Sheet As XLS.Sheet = Book.Sheets(0)


For n As Integer = 1 To Sheet.Rows.Count -1
    Dim a As String = sheet(n,0).Text
    Dim b As String = sheet(n,2).Text
    Dim c As String = sheet(n,3).Text
    Dim d As String = sheet(n,4).Text
    Dim dr As DataRow = DataTables("表A").Find("上游客户 = \'" & a & "\' and 上游运态=\'" & b & "\' and 底盘号=\'" & c & "\'")
    If dr Is Nothing Then \'如果不存在同编号的订单
        sheet(n,5).Text = dr("实际对账金额")
    Else
        dr = DataTables("表A").Find("上游客户 = \'" & a & "\' and 清单号=\'" & b & "\' and 上游动态=\'" & d & "\'")
        If dr Is Nothing Then \'如果不存在同编号的订单
            sheet(n,5).Text = dr("实际对账金额")
        Else
            dr = DataTables("表A").Find("上游客户 = \'" & a & "\' and 底盘号=\'" & c & "\' and 上游动态=\'" & d & "\'")
            If dr Is Nothing Then \'如果不存在同编号的订单
                sheet(n,5).Text = dr("对账金额")
            Else
                Dim nr As DataRow = DataTables("表B").AddNew
                nr("上游客户") = a
                nr("清单号") = b
                nr("底盘号") = c
                nr("运输动态") = d
            End If
        End If
    End If
Next
这是我贴入的代码

[此贴子已经被作者于2020/2/24 19:09:56编辑过]

--  作者:有点蓝
--  发布时间:2020/2/24 20:15:00
--  
sheet(n,5).Text改为sheet(n,5).Value
--  作者:HANZHIGANG
--  发布时间:2020/2/24 20:44:00
--  
执行代码时出现错误提示
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/2/24 21:10:00
--  
Dim Book As New XLS.Book("D:\\问题\\导入用表.xlsx")
Dim Sheet As XLS.Sheet = Book.Sheets(0)


For n As Integer = 1 To Sheet.Rows.Count -1
    Dim a As String = sheet(n,0).Text
    Dim b As String = sheet(n,2).Text
    Dim c As String = sheet(n,3).Text
    Dim d As String = sheet(n,4).Text
    Dim dr As DataRow = DataTables("表A").Find("上游客户 = \'" & a & "\' and 运输动态=\'" & b & "\' and 底盘号=\'" & c & "\'")
    If dr IsNot Nothing Then \'如果不存在同编号的订单
        sheet(n,5).value = dr("实际对账金额")
    Else
        dr = DataTables("表A").Find("上游客户 = \'" & a & "\' and 清单号=\'" & b & "\' and 运输动态=\'" & d & "\'")
        If dr IsNot Nothing Then \'如果不存在同编号的订单
            sheet(n,5).value = dr("实际对账金额")
        Else
            dr = DataTables("表A").Find("上游客户 = \'" & a & "\' and 底盘号=\'" & c & "\' and 运输动态=\'" & d & "\'")
            If dr IsNot Nothing Then \'如果不存在同编号的订单
                sheet(n,5).value = dr("对账金额")
            Else 
                Dim nr As DataRow = DataTables("表B").AddNew
                nr("上游客户") = a
                nr("清单号") = b
                nr("底盘号") = c
                nr("运输动态") = d
            End If
        End If
    End If
Next
Book.Save("c:\\导入用表.xlsx")