用个集合记录找到的行,然后删除剩下的
Dim Book As New XLS.Book("c:\test\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
Dim lst As new List(of 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()
Else
lst.Add(dr("编号"))
End If
For m As Integer = 0 To nms.Length - 1
dr(nms(m)) = Sheet(n,m).Value
Next
Next
DataTables("订单").DeleteFor("编号 not in ('" & String.Join("','",lst.ToArray) & "')")
Tables("订单").ResumeRedraw()