Dim r As Row
Dim i,j As Integer
Dim t1,t2 As Table
Dim str1,str2 As String
Dim str As String
t1 = Tables(Vars("btname11"))
t2 = e.form.Controls("Table1").Table
str1 = e.form.Controls("TextBox1").value
str2 = e.form.Controls("ComboBox1").value
Dim prb As WinForm.ProgressBar = e.Form.Controls("ProgressBar1")
If str1 = "" OrElse str2 = "" Then
Return
End If
Dim Book As New XLS.Book(str1)
Dim Sheet As XLS.Sheet = Book.Sheets(str2)
If e.Form.Controls("CheckBox1").checked = False Then
For Each r In t2.Rows
If r.IsNull("来源字段") OrElse r.IsNull("接收字段") Then
MessageBox.Show("字段匹配未完成!")
Return
End If
Next
prb.Visible = True
prb.Maximum = Sheet.Rows.Count - 1
Dim s11 As String
For Each c1 As Col In t1.Cols
s11 = s11 & "," & c1.name
Next
s11 = s11.trim(",")
Dim cs As String = s11
msgbox(cs)
Dim s22 As String
Dim zd1 As New Dictionary(Of Integer, String)
For i = 0 To Sheet.Cols.count - 1
If Sheet(0,i).text > ""
zd1.Add(i,Sheet(0,i).Value)
s22 = s22 & "," & Sheet(0,i).Value
End If
Next
s22 = s22.trim(",")
Dim cs22 As String = s22
msgbox(cs22)
Dim filter As String = "1=2"
Dim ss11() As String = s11.split(",")
Dim s111 As String = ss11(0)
Dim ss22() As String = s22.split(",")
Dim s222 As String = ss22(0)
For i11 As Integer = 0 To ss11.length -1
For i22 As Integer = 0 To ss22.length -1
filter = filter & " or " & ss11(i11) & " <> " & ss22(i22)
Next
Next
msgbox(filter)
For i = 1 To Sheet.Rows.Count -1
Dim dr As DataRow = DataTables(Vars("btname11")).Find(filter) '在这里怎么写find条件
If dr Is Nothing Then '如果不存在同编号的订单
r = t1.AddNew()
For j = 0 To t2.Rows.count - 1
Dim ss As String =Sheet(i,t2.Rows(j)("来源列数")).Value
r(t2.Rows(j)("接收字段")) = ss.Replace(" ", "").Trim
Next
Else
MessageBox.Show("存在相同内容,即将跳过")
End If
prb.Value = i
Next
Else
For j = 0 To Sheet.Cols.count - 1
If t1.cols.Contains(Sheet(0,j).value) Then
If str = "" Then
str = Sheet(0,j).value
str = str.Replace(" ", "").Trim
Else
str = str & "," & Sheet(0,j).value
str = str.Replace(" ", "").Trim
End If
End If
Next
If str = "" Then
MessageBox.Show("对不起,没有匹配字段!")
Return
End If
If MessageBox.Show("是否只导入匹配字段?","询问",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
prb.Visible = True
prb.Maximum = Sheet.Rows.Count - 1
For i = 1 To Sheet.Rows.Count -1
r = t1.AddNew()
For j = 0 To str.split(",").Length - 1
Dim sss As String =Sheet(i,j).Value
r(str.split(",")(j)) = sss.Replace(" ", "").Trim
Next
prb.Value = i
Next
Else
Return
End If
End If
t1.DataTable.save
MessageBox.Show("数据导入完毕!")
'e.Form.close