1

Excel ファイルを効果的に読み取る方法を探していたところ、大きなスプレッドシートを解析して読み取るための次のコードが見つかりました。

Public Sub ExcelProcessing()

    Dim strDoc As String = "C:\Documents and Settings\Practice.xlsx"
    Dim txt As String

    Dim spreadsheetDocument As SpreadsheetDocument = spreadsheetDocument.Open(strDoc, False)

    Dim workbookPart As WorkbookPart = spreadsheetDocument.WorkbookPart
    Dim worksheetPart As WorksheetPart = workbookPart.WorksheetParts.First()

    Dim reader As OpenXmlReader = OpenXmlReader.Create(worksheetPart)
    Dim text As String
    While reader.Read()

        If reader.ElementType = GetType(CellValue) Then


            text = reader.GetText()
            MessageBox.Show(text)

        End If


    End While

問題は、reader.GetText() を文字列に割り当てる場所です。渡される値は小さな整数ですが、実際のセル値は文字列です。メッセージ ボックスは、入力されたセルごとに 1 回起動するため、コードが値を含むセルを見つけていることがわかります。ただし、セルの実際の「内部テキスト」を抽出できません。

考え?提案?

4

1 に答える 1