-- 作者:青丘狐
-- 发布时间: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/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编辑过]
|