以文本方式查看主题 - 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=171444) |
-- 作者:aaa1234 -- 发布时间:2021/8/30 14:57:00 -- 老师您好,我想问一下如何跳过相同的单号导入的时候 Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim nms() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"} Dim nms2() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"} Dim dict As new Dictionary(of String,String) For m As Integer = 0 To nms.Length - 1 dict.add(nms2(m),nms(m)) Next Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("table_3").StopRedraw() \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 1 To Sheet.Rows.Count -1 If Sheet(n,0).text > "" Then Dim r As Row = Tables("table_3").AddNew() For m1 As Integer = 0 To Sheet.Cols.Count - 1 If dict.ContainsKey(Sheet(0,m1).Value) r(dict(Sheet(0,m1).Value)) = Sheet(n,m1).Value End If Next r("处理人") = user.name End If Next Tables("table_3").ResumeRedraw() End If
|
-- 作者:有点蓝 -- 发布时间:2021/8/30 15:01:00 -- 参考:http://www.foxtable.com/webhelp/topics/2334.htm |
-- 作者:aaa1234 -- 发布时间:2021/8/30 15:19:00 -- Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim nms() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"} Dim nms2() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"} Dim dict As new Dictionary(of String,String) For m As Integer = 0 To nms.Length - 1 dict.add(nms2(m),nms(m)) Next Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("table_3").StopRedraw() \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 1 To Sheet.Rows.Count -1 If Sheet(n,0).text > "" Then If DataTables("订单").Find("编号 = \'" & bh & "\'") Is Nothing Then Dim r As Row = Tables("table_3").AddNew() For m1 As Integer = 0 To Sheet.Cols.Count - 1 If dict.ContainsKey(Sheet(0,m1).Value) r(dict(Sheet(0,m1).Value)) = Sheet(n,m1).Value End If Next r("处理人") = user.name End If Next Tables("table_3").ResumeRedraw() End If
|
-- 作者:aaa1234 -- 发布时间:2021/8/30 15:19:00 -- 这样吗老师 报错呀 |
-- 作者:有点蓝 -- 发布时间:2021/8/30 15:27:00 -- 改为自己的表名和列名。花时间理解一下代码,不要就会抄 |
-- 作者:aaa1234 -- 发布时间:2021/8/30 16:33:00 -- Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim nms() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"} Dim nms2() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"} Dim dict As new Dictionary(of String,String) For m As Integer = 0 To nms.Length - 1 dict.add(nms2(m),nms(m)) Next Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("table_3").StopRedraw() \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 1 To Sheet.Rows.Count -1 If Sheet(n,0).text > "" Then Dim bh As String = sheet(n,0).Text If DataTables("订单").Find("编号= \'"& bh &"\'")Is Nothing Then \'如果不存在同编号的订单 Dim r As Row = Tables("table_3").AddNew() For m1 As Integer = 0 To Sheet.Cols.Count - 1 If dict.ContainsKey(Sheet(0,m1).Value) r(dict(Sheet(0,m1).Value)) = Sheet(n,m1).Value End If Next r("处理人") = user.name End If Next Tables("table_3").ResumeRedraw() End If 这样也不行啊老师,不好意思,复制错了刚刚
|
-- 作者:有点蓝 -- 发布时间:2021/8/30 16:37:00 -- 改为自己的表名和列名呀!确定execl里第一列是编号列吗 Dim bh As String = sheet(n,0).Text If DataTables("订单").Find("编号= \'"& bh &"\'")Is Nothing Then |
-- 作者:aaa1234 -- 发布时间:2021/8/30 16:55:00 -- 老师其实我的意思是把他改了还是新增相同的数据只不过单号那里空了 |
-- 作者:aaa1234 -- 发布时间:2021/8/30 16:56:00 -- 是不是关我DataColChanging的If e.DataCol.Name = "单号" Then Dim dr As DataRow dr = e.DataTable.Find("单号 = \'" & e.NewValue & "\'") If dr IsNot Nothing Then MessageBox.Show("此单号已经存在!") e.Cancel = True End If End If 事
|
-- 作者:有点蓝 -- 发布时间:2021/8/30 16:57:00 -- 改为自己的表名和列名呀!确定execl里第一列是编号列吗 Dim bh As String = sheet(n,0).Text If DataTables("订单").Find("编号= \'"& bh &"\'")Is Nothing Then |