我测试这个代码没问题
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
For Each fl As String In dlg.FileNames
Dim Book As New XLS.Book(fl)
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String ={"卡号","持卡人","交易时间","交易类型","金额","数量","单价","奖励积分","余额","地点"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 4 To Sheet.Rows.Count -1
Dim sj As String = sheet(n,2).Text
Dim d As Date
Date.TryParse(sj, d)
Dim fdr As DataRow
If d = Nothing Then
fdr = DataTables("明细表").Find("交易时间 is null")
Else
fdr = DataTables("明细表").Find("交易时间 = #" & d.Date & "#")
End If
If fdr 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
Next
End If