Dim app1 As Excel.Application = New Excel.Application
Dim bk1 As Excel.Workbook
bk1 = app1.Workbooks.Open(fromFile)
Dim sheetA = CType(bk1.Worksheets(1), Excel.Worksheet)
Dim rowCount = sheetA.UsedRange.Rows.Count
Dim colCount = sheetA.UsedRange.Columns.Count
Dim arrStr As Object
arrStr = sheetA.UsedRange.Value
Dim nr As DataRow
Dim newCase As New clsOrder
For r = 2 To rowCount
With newCase
.OrderNo = arrStr(r, SheetCols.订单).ToString '后期绑定
.Cust = arrStr(r, SheetCols.客户名称).ToString '后期绑定
.Product = arrStr(r, SheetCols.规格说明).ToString '后期绑定
.RequestDate = CDate(arrStr(r, SheetCols.交货日期)) '后期绑定
.ProductNum = CInt(arrStr(r, SheetCols.生产数量)) '后期绑定
.PaperNum = CInt(arrStr(r, SheetCols.张数)) '后期绑定
.AreaNum = CDbl(arrStr(r, SheetCols.未入库平方)) '后期绑定
.RecordDate = Today
.AutoScedu = True
CheckFlow(arrStr(r, SheetCols.瓦楞机).ToString, CInt(arrStr(r, SheetCols.钉数))) '分析字段 '后期绑定
.WorkFlows = dvWorkFlow '流程视图
.AddNewCase()
End With
Next
newCase = Nothing
因为逐条读取Excel文件实在太慢,于是我想一次性读入所有的数据。
以上为部份代码 如上述 我先定义了一个arrStr的object对像,然后将Excel里的Range的值赋给这个object,他就变成了一个数组
然后遍历这个数组 给我需要的变量赋值
for循环中 所有的对arrStr的使用都属于后期绑定,如果在Option strict模式下这是会报错的,不知道能不能解决?
------解决方案--------------------
UsedRange.Value 的类型应该也是一个Range吧。试一试看看。
Dim arrStr As Range 读取看看。