实际可用行的问题:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=92748&authorid=0&page=0&star=1
这样处理一下:
......
For Each file In FileSys.GetFiles(path)
'try
If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
Dim wb=app.WorkBooks.open(file)
For k As Integer=1 To wb.worksheets.Count
Dim Ws As MSExcel.WorkSheet=Wb.WorkSheets(k)
Dim rowsmax As Integer = 0
Dim Colsmax As Integer = ws.UsedRange.columns.count
Output.Show("ws.UsedRange.columns.count=" & Colsmax)
For i As Integer = 1 To Colsmax
Dim r = ws.cells(65535,i).End(MsExcel.XlDirection.xlUp).Row
If r > rowsmax Then
rowsmax = r
End If
Next
Output.Show("rowsmax =" & rowsmax )
Dim rg As MSExcel.Range = Ws.Range(Ws.Cells(1,1), Ws.Cells(RowsMax,Colsmax))
'Dim rg As MSExcel.Range=Ws.UsedRange
If rg.Count = 1 And rg(1).Value = "" Then
Continue For
End If
Dim ary = rg.value
Output.Show("ary ok")
For i As Integer=1 To rg.Rows.count
......