1

アプリケーションで LinqToExcel を使用していますが、データを読み取るときに最終範囲を動的に設定する最良の方法がわかりません。現在、30000 などの任意の大きな値を使用していますが、これは、範囲が特定の値を超えないことが確実な場合にのみ問題ありません。

LinqToExcelを使用するときに、連続する各行のコンテンツを段階的にチェックする以外に、エンドレンジを動的に決定するより良い方法はありますか? これが私の現在の(テストされていない)ソリューションです:

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
4

0 に答える 0