Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog dlg.Filter= "excel文件|*.xls" '设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮 Dim mg As New Merger mg.SourcePath = dlg.FileName mg.Format = "excel" mg.SourceTableName = "cs$" '指定要合并的表 mg.DataTableName = "表A" '指定接收数据的表 mg.FieldMaps.Add("姓名","第一列" ) '将指定ID列的数据合并到编号列中 mg.FieldMaps.Add("基础代码","第二列" ) '将指定ID列的数据合并到编号列中 mg.FieldMaps.Add("基础金额","第三列" ) '将指定ID列的数据合并到编号列中 mg.FieldMaps.Add("地址码","第四列" ) '将指定ID列的数据合并到编号列中 mg.Merge() '开始合并 Dim idx As String = "-1," Dim idx_temp As String = "" Dim pdr As DataRow = Nothing Dim count As Integer = 0 Dim cs As String = "第一列,第二列,第三列,第四列" For Each dr As DataRow In DataTables("表A").Select("", cs) Dim flag As Boolean = False If pdr IsNot Nothing Then For Each c As String In cs.split(",") If pdr(c) <> dr(c) Then flag = True Exit For End If Next If flag Then If count > 1 Then idx &= idx_temp End If count = 1 idx_temp = "" Else count += 1 idx_temp &= dr("_Identify") & "," End If Else count += 1 End If pdr = dr Next If count > 1 Then idx &= idx_temp End If DataTables("表A").DeleteFor("_Identify In (" & idx.trim(",") & ")") For Each dr As DataRow In DataTables("表A").Select("") If dr.RowState = DataRowState.Added Then Dim fdr As DataRow = DataTables("表B").Find("第一列 = '" & dr("第一列") & "'") If fdr IsNot Nothing Then dr("第五列") = fdr("_Identify") End If End If Next End If
|