我试过用下面的代码做:
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Dim c As Integer = 0
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
If DataTables("班级信息表").Find("班级编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
c = c + 1
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()
DataTables("班级信息表").Save
MessageBox.Show("导入完成,共导入" & c & "条记录")
End If
但是试用过后又有个问题,以上代码可以对原有数据进行增加,不能对原有数据做修改!所以还是达不到我的要求。
我现在有个思路:就是将EXCEL数据先导入到临时表中,然后再用临时表和现有数据做比对用跨表引用的方式更新数据,请问这个办法可否?