以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  导入不重复值  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=128889)

--  作者:青丘狐
--  发布时间:2018/12/17 17:01:00
--  导入不重复值

Dim Book As New XLS.Book("c:\\test\\订单.xls")
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Tables(
"订单").StopRedraw()
Dim
nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
For
n As Integer = 1 To Sheet.Rows.Count -1
   
Dim bh As String = sheet(n,0).Text
   
Dim dr As DataRow = DataTables("订单").Find("编号 = \'" & bh & "\'")
    If
dr Is Nothing Then \'如果不存在同编号的订单
       
dr =  DataTables("订单").AddNew()
    End If
    For
m As Integer = 0 To nms.Length - 1
       
dr(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables(
"订单").ResumeRedraw()

 

请问编号 产品 客户 雇员 四个数值不重复要怎样写,Dim CP As String = sheet(n,0).Text  定义4次吗?

Dim dr As DataRow = DataTables("订单").Find("编号 = \'" & bh & CP & KH & CY  & "\'")


--  作者:有点甜
--  发布时间:2018/12/17 17:55:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101056&skin=0

 

 


--  作者:青丘狐
--  发布时间:2018/12/18 10:44:00
--  

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls;*.xlsx"  \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
 
    Dim Book As New XLS.Book(dlg.FileName)
    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
        Dim cp As String = sheet(n,1).Text
        Dim kh As String = sheet(n,2).Text
        Dim cy As String = sheet(n,3).Text
        If DataTables("订单").Find("编号 = \'" & bh & "\' and 产品=\'" & cp & "\' and 客户=\'" & kh & "\' and 雇员=\'" & cy & "\'") 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()
End If

 

 

小白不容易,花了3个小时才做明白。导入数据时编号  产品 客户 雇员 4个值相同时不导入

[此贴子已经被作者于2018/12/18 10:48:37编辑过]