我在我的应用程序中使用 LinqToExcel,但无法找到在读取数据时动态设置结束范围的最佳方法。我们目前使用任意大的值,例如 30000,但只有在我确定范围不会超过某个值时才可以。
除了增量检查每个连续行的内容之外,还有什么更好的方法可以在使用 LinqToExcel 时动态确定endrange?这是我当前(未经测试)的解决方案:
Private Function GetPreviousUnquoted() As Integer
Dim MFIDColumn As String = "E:"
Dim row As Integer = 9
Dim data As Boolean = True
Dim excel = New ExcelQueryFactory(_PathAndName)
Do Until data = False
Dim unquotedQuery = From item In excel.WorksheetRange(
MFIDColumn & row, MFIDColumn & row, 1)
Select item
If unquotedQuery.FirstOrDefault.Item(0).ToString.Length > 0 Then
row += 1
data = True
Else
data = False
End If
Loop
Return row
End Function