代码如下:
Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
Dim App As New MSExcel.Application
try
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("总计划表")
Tables("订单").ResumeRedraw()
Tables("订单").StopRedraw()
Dim nms() As String = {"项目","下单日期","MK号","DO号","城市","客户","送货地址","物料代码","数量","体积","重量","收货时间","是否采购订单"}
For n As Integer = 2 To ws.UsedRange.Rows.Count -1
Dim r As Row = Tables("订单").AddNew()
For m As Integer = 0 To nms.Length - 1
If Tables("订单").Cols(nms(m)).IsDate Then
Dim d As Date
If Date.TryParse(ws.cells(n,m+1).Text, d)
r(nms(m)) = d
End If
Else
r(nms(m)) = ws.cells(n,m+1).Text
End If
Next
Next
Tables("订单").ResumeRedraw()
catch ex As exception
msgbox(ex.message)
app.quit
End try
End If
效率有点低 一千多条数据一分钟 我还不知道怎么加进度条,另外怎样才能动态选择表 不局限是"总计划",并且可以自动读出表的列名称, 用对话框选择哪一列等于"订单"的哪一列