以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]字段匹配能实现如下的可视化么?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104390)

--  作者:浙江仔
--  发布时间:2017/7/28 13:00:00
--  [求助]字段匹配能实现如下的可视化么?

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

想做一个比较灵活的数据导入的窗口,如果写死呢,后期调整需要重新发布,所以想能否把匹配工作可视化,如上图

如果这么做,该怎么设计,能提供点帮助么?
谢谢

--  作者:有点甜
--  发布时间:2017/7/28 15:09:00
--  

 不是很简单?把你表的列名列出来;打开对应的excel文件t,读取第一行得到列名,也列出来;

 

 做好匹配后,直接合并,执行如下代码

 

Dim Book As New XLS.Book("c:\\test\\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim nms1() As String = {"产品","客户","雇员"}
Dim nms2() As String = {"表列名产品","表列名客户","表列名雇员"}

For n As Integer = 1 To Sheet.Rows.Count -1
    Dim r As Row = Tables("订单").AddNew()
    For i As Integer = 0 To sheet.Cols.Count -1
        Dim idx As Integer = array.indexof(nms1, sheet(0,i).Text)
        If idx >= 0 Then
            r(nms2(idx)) = sheet(n, i).Text
        End If
    Next
Next
Tables("订单").ResumeRedraw()


--  作者:浙江仔
--  发布时间:2017/7/28 16:20:00
--  
哦,有个列表框的哦
--  作者:有点甜
--  发布时间:2017/7/28 17:16:00
--  
以下是引用浙江仔在2017/7/28 16:20:00的发言:
哦,有个列表框的哦

 

什么意思?读取列表框的对应关系,合成2楼红色的数组,即可。