Sådan læses en CSV-fil i Visual Basic

Sådan læses en CSV-fil i Visual Basic George Doyle / Stockbyte / Getty Images

kommaseparerede værdier (CSV) er et almindeligt format, der bruges til at udveksle data mellem forskellige programmer, der kan ikke understøtter hinandens oprindelige format.For eksempel kan det bruges til at udveksle regneark data mellem Excel og en anden regneark eller database data mellem Access og MySQL.Visual Basic indeholder ikke en automatisk funktion til læsning CSV-filer, men en af ​​grundene til sin bred opbakning er dets enkelhed.Som navnet antyder, CSV-filer er intet andet end en liste over værdier, hver adskilt af et komma eller en ny linje.Det er forholdsvis enkelt at oprette en CSV-læser i Visual Basic.

Instruktioner

  1. Opret et nyt projekt ved at klikke på "Filer" og "Nyt projekt".

  2. Træk en knap på din form fra værktøjskassen ved hjælp af din mus.

  3. Find "OpenFileDialog" kontrol og føje den til din formular så godt.Da denne kontrol er oprindeligt usynlig, vil det ikke blive vist på din form, men snarere unde

    r den.

  4. Dobbeltklik på knappen for at oprette en begivenhed, der vil opstå, når brugeren klikker på knappen.Indsæt følgende kode, der vil bede brugeren om en CSV-fil og indlæse sine data i en 2D-array:

    Private Sub Button1_Click (ByVal afsender Som System.Object, ByVal e Som System.EventArgs) Håndtag Button1.Click
    & amp; # 9;
    & amp; # 9 REM Få filen brugeren ønsker at indlæse.
    OpenFileDialog1.ShowDialog ()
    Dim filnavn As String = OpenFileDialog1.FileName
    Dim FILESTREAM Som System.IO.StreamReader = Ny System.IO.StreamReader (filnavn)


    REM Læs alle data fra filen til en enkelt streng.

    Dim indhold As String = fileStream.ReadToEnd

    REM Split strengen i sine værdier.Efter denne operation er færdig, vil der være en én dimensional array af værdier, og enden af ​​rækkerne vil være præget af tomme strenge.

    Dim-værdier = contents.Split ()
    Dim arr Som ArrayList = Ny ArrayList
    Dim rækker As ArrayList = Ny ArrayList

    REM Flyt data i en 2D-array.

    for x som Integer = 0 Til lines.Length - 1
    Hvis linier (x) isnot String.Empty Så
    arr.Add (linier (x))
    End If
    rows.Add (arr.Clone)
    arr.Klare ()
    Næste

    Dim data (rows.Count, rækker (0) .count) As String

    for x som Integer = 0 Til rows.Count - 1
    For y As Integer = 0 Til rækker (x) .count- 1
    data (x, y) = rækker (x) (y)
    Næste
    Næste

    End Sub

929
0
3
Visual Basics Programming