Foxtable(狐表)用户栏目专家坐堂 → [求助]EXCEL单个列内容自动填列到狐表的问题


  共有3938人关注过本帖树形打印复制链接

主题:[求助]EXCEL单个列内容自动填列到狐表的问题

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
[求助]EXCEL单个列内容自动填列到狐表的问题  发帖心情 Post By:2020/2/23 21:46:00 [只看该作者]

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

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

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

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

 

请老师费心


 回到顶部
帅哥哟,离线,有人找我吗?
HANZHIGANG
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2020/2/23 21:47:00 [只看该作者]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2020/2/24 19:09:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200224190704.png
图片点击可在新窗口打开查看
老师,贴入代码后出现以上错误提示

 回到顶部
帅哥哟,离线,有人找我吗?
HANZHIGANG
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/24 20:15:00 [只看该作者]

sheet(n,5).Text改为sheet(n,5).Value

 回到顶部
帅哥哟,离线,有人找我吗?
HANZHIGANG
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2020/2/24 20:44:00 [只看该作者]

执行代码时出现错误提示
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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")

 回到顶部