Dim dlg As New OpenFileDialog
dlg.Filter= "所有文件|*.*|Excel2003文件|*.xls|Excel2007文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
MessageBox.Show("你选择的是:" & dlg.FileName,"提示")
If MessageBox.Show("是否合并?","请确 认!",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) = DialogResult.OK Then
Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet_qj As XLS.Sheet = Book.Sheets(0)
Dim dr As DataRow = DataTables("钢料程序单").AddNew
dr("程序路径") = sheet_qj(1,2).value
dr("制表日期") = sheet_qj(1,9).value
dr("工件编号") = sheet_qj(2,2).value
dr("客户") = sheet_qj(2,5).value
dr("编程") = sheet_qj(2,9).value
dr("分中方式") = sheet_qj(3,2).value
dr("工件尺寸") = sheet_qj(3,5).value
dr("预计时间") = sheet_qj(9,10).value
dr("x") = sheet_qj(9,2).value
dr("y") = sheet_qj(5,0).value
dr("正x") = sheet_qj(11,3).value
dr("正y") = sheet_qj(11,5).value
dr("正z") = sheet_qj(11,9).value
dr("负x") = sheet_qj(12,3).value
dr("负y") = sheet_qj(12,5).value
dr("负z") = sheet_qj(12,9).value
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("钢料程序单.钢料程序明细").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"序号","NC名称","程序说明","刀头","刀具","刀长","刃长","xyz余量","z深度","加工时间","备注"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 14 To Sheet.Rows.Count -12
Dim r As Row = Tables("钢料程序单.钢料程序明细").AddNew
For m As Integer = 0 To nms.Length - 1
r(nms(m)) = Sheet(n,m).Value
Next
Next
End If
End If
MessageBox.Show("导入成功!","恭喜!")
Tables("钢料程序单.钢料程序明细").ResumeRedraw()