Systemready = False
Dim mr As Row = Tables("库存管理界面_table29").AddNew()
mr.save
Dim App As New MSExcel.Application
try
Dim tsxx As WinForm.Label = e.Form.Controls("Label73")
tsxx.text = "正在导入OEM IN 直销序列号请耐心等待!"
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("D:\直销序列号.xls")
For Each ws As object In Wb.worksSheets
msgbox(11) '没弹出来,后面的都没执行
Tables("库存管理界面_table29").DataTable.StopRedraw()
msgbox(22)
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim ra = ws.UsedRange
msgbox(33)
msgbox(ra.Rows.count & vbcrlf & ra.Columns.count)
If ra.rows.count > 0 OrElse ra.columns.count > 0 Then '不是空表
msgbox(0)
Dim nms() As String = {"采购订单号","存货编码","存货名称","SN","MAC"} '如果execl里面的列名或者顺序与数组的不一致,该如何报错提醒用户要导入的execl格式不对呢
Dim flag = False
For i As Integer = 0 To nms.length-1
If nms(i) <> ws.cells(1, i+1).text Then
msgbox(ws.name & " 格式不匹配")
flag = True
Exit For
End If
Next
If flag Then Continue For
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To ra.Rows.Count - 1
Dim xlh As String = ws.cells(n,4).Text '序列号----SN,xlh
If DataTables("库存明细表").SQLFind("SN = '" & xlh & "'") Is Nothing Then '如果不存在同编号的计划表
Dim r As Row = Tables("库存管理界面_table29").AddNew()
r("工单行号") = "ZXSN" & r("_identify")
r("订单行号") = "ZXSN" & r("_identify")
r("库位类别") = "30"
r("数量") = 1
r("订单号") = ws.cells(n,1).Value
r("生产订单号码") = "ZX" & r("订单号")
r("物料编码") = ws.cells(n,2).Value
r("物料名称") = ws.cells(n,3).Value
r("SN") = ws.cells(n,4).Value
r("MAC") = ws.cells(n,5).Value
r("出库完成时间") = Date.Today
r("货运单号") = "直销发货"
r.Save
End If
Next
msgbox(1)
End If
Next
Tables("库存管理界面_table29").DataTable.ResumeRedraw()
DataTables("库存明细表").SQLDeleteFor("SN is null")
DataTables("库存明细表").RemoveFor("SN is null")
msgbox(2)
tsxx.text = "请导入OEM IN 直销序列号!"
MessageBox.show("OEM IN直销序列号已导入完成","导入完成",MessageBoxButtons.OK,MessageBoxIcon.Information)
catch ex As exception
finally
app.quit
End try
Systemready = True