Foxtable(狐表)用户栏目专家坐堂 → [求助]上传表格,如何比对?


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

主题:[求助]上传表格,如何比对?

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


加好友 发短信
等级:小狐 帖子:395 积分:633 威望:0 精华:0 注册:2018/3/5 14:40:00
[求助]上传表格,如何比对?  发帖心情 Post By:2020/9/25 10:52:00 [只看该作者]

用户下载模板 ,填写好了  ,上传后  代码如何比对 Exce
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20200925105015.png
图片点击可在新窗口打开查看
l表的第一行是标题

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


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

看这个帮助的下面2段代码用法

如果订单表中已经存在相同编号的订单,那么就跳过此订单,可以将代码改为:

Dim Book As New XLS.Book("c:\test\订单.xls"
Dim 
Sheet As XLS.Sheet = Book.Sheets(0)
Tables(
"订单").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致

Dim 
nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"} 
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 

For
 n As Integer = 1 To Sheet.Rows.Count -1 
    
Dim bh As String = sheet(n,0).Text 
    
If DataTables("订单").Find("编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
        Dim 
r As Row = Tables("订单").AddNew()
        For 
m As Integer = 0 To nms.Length - 1
            
r(nms(m)) = Sheet(n,m).Value
        
Next
    End If
Next
Tables(
"订单").ResumeRedraw()


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


加好友 发短信
等级:小狐 帖子:395 积分:633 威望:0 精华:0 注册:2018/3/5 14:40:00
  发帖心情 Post By:2020/9/25 11:08:00 [只看该作者]

 Excel 的表头 ,怎么跟 nms() 数组 进行比对  ,如果 Excel 的表头 跟 nms() 数组 不一致,就不执行

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


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

那就设置一致,把nms() 数组的顺序和内容设置和execl完全一致

 回到顶部