Ошибка ВКЛ для цикла при просмотре нескольких csv файлов
Я-новый человек. Vb.net новичок. Я написал программу для просмотра данных нескольких CSV-файлов в datagridview. Я хочу просмотреть несколько значений CSV-файлов в datagridview, однако я могу просмотреть только одно значение после действия multiselect. Я обнаружил, что существует проблема цикла FOR при загрузке значения файлов. Однако я не могу понять, что мне следует изменить в коде.
Может ли кто-нибудь помочь мне решить мою проблему, изменив мой код?
Большое спасибо!!
Что я уже пробовал:
Private Sub btnBrowse_Click(sender As Object, e As EventArgs) Handles btnOpenFile.Click OpenFileDialog1.Filter = "csv files|; *.csv" OpenFileDialog1.Title = "Select multiple CSV Files" OpenFileDialog1.FileName = "" OpenFileDialog1.Multiselect = True OpenFileDialog1.RestoreDirectory = True If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then Try 'FileName in textbox filenames = OpenFileDialog1.FileNames(j) Me.txt1.Text += filenames 'File Data For k As Integer = 0 To OpenFileDialog1.filenames.Count - 1 If System.IO.File.Exists(filenames) = True Then Dim lines = System.IO.File.ReadAllLines(filenames) 'datagridview For Each str As String In lines Dim thecolumns() As String = str.Split(",") Dim newRow As DataRow = dt.NewRow newRow("A") = thecolumns(0) newRow("B") = thecolumns(1) newRow("C") = thecolumns(2) newRow("D") = thecolumns(3) newRow("E") = thecolumns(4) newRow("F") = thecolumns(5) newRow("G") = thecolumns(6) newRow("H") = thecolumns(7) newRow("I") = thecolumns(8) newRow("J") = thecolumns(9) newRow("K") = thecolumns(10) dt.Rows.Add(newRow) DataGridView1.DataSource = dt Next Else txt1.Text = "Error" End If Next Catch ex As Exception 'dialog box for error MsgBox("Error: " + ex.Message) End Try 'j += 1 'ListView For Each filenames As String In OpenFileDialog1.FileNames ListBox1.Items.AddRange(IO.File.ReadAllLines(filenames)) Next 'dialogbox MsgBox(OpenFileDialog1.FileNames.Count & " files had been loaded") End If End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'datatable format With dt .Columns.Add("A", System.Type.GetType("System.String")) .Columns.Add("B", System.Type.GetType("System.String")) .Columns.Add("C", System.Type.GetType("System.String")) .Columns.Add("D", System.Type.GetType("System.String")) .Columns.Add("E", System.Type.GetType("System.String")) .Columns.Add("F", System.Type.GetType("System.String")) .Columns.Add("G", System.Type.GetType("System.String")) .Columns.Add("H", System.Type.GetType("System.String")) .Columns.Add("I", System.Type.GetType("System.String")) .Columns.Add("J", System.Type.GetType("System.String")) .Columns.Add("K", System.Type.GetType("System.String")) End With End Sub 'Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' Dim sr As New IO.StreamReader(filenames, System.Text.Encoding.Default) ' Dim sline As String = "" ' Do ' sline = sr.ReadLine ' If sline Is Nothing Then Exit Do ' Dim thecolumns() As String = sline.Split(",") ' Dim newRow As DataRow = dt.NewRow ' newRow("A") = thecolumns(0) ' newRow("B") = thecolumns(1) ' newRow("C") = thecolumns(2) ' newRow("D") = thecolumns(3) ' newRow("E") = thecolumns(4) ' newRow("F") = thecolumns(5) ' newRow("G") = thecolumns(6) ' newRow("H") = thecolumns(7) ' newRow("I") = thecolumns(8) ' newRow("J") = thecolumns(9) ' newRow("K") = thecolumns(10) ' dt.Rows.Add(newRow) ' DataGridView1.DataSource = dt ' Loop ' sr.Close() 'End Sub End Class