kommadelte ( CSV )-format er et vanlig format som brukes til å utveksle data mellom forskjellige programmer som ikke støtter hverandres opprinnelige format . For eksempel kan det brukes til å utveksle regneark data mellom Excel og annet regneark eller database data mellom Access og MySQL. Visual Basic inneholder ikke en automatisk funksjon for lasting CSV-filer , er imidlertid en av grunnene for sin omfattende støtten er dens enkelhet . Som navnet tilsier , CSV-filer er ingenting, men en liste over verdier , hver atskilt med komma eller ny linje . Det er ganske enkelt å lage en CSV leser i Visual Basic. Instruksjoner
en
Lag et nytt prosjekt ved å klikke på "File" og "New Project ".
2
Dra en knapp på skjemaet fra verktøykassen ved hjelp mus .
3
Finn " OpenFileDialog " kontroll og legge den i skjemaet også. Siden denne kontrollen er i utgangspunktet usynlig , vil det ikke vises på skjemaet, men heller under den.
4
Dobbeltklikk på knappen for å opprette en hendelse som vil skje når brukeren klikker på knappen . Lim inn følgende kode som vil be brukeren om et CSV -fil og laste inn data i en 2D matrise:
Private Sub button1_click ( ByVal avsenderen som System.Object , ByVal e Som System.EventArgs ) Handles Button1.Click REM Få filen brukeren ønsker å load.OpenFileDialog1.ShowDialog ( ) Dim filnavn As String = OpenFileDialog1.FileNameDim FILESTREAM Som System.IO.StreamReader = Ny System.IO.StreamReader (filename ) REM Les alle dataene fra filen til en enkelt string.Dim innholdet As String = fileStream.ReadToEnd
REM Split strengen i sine verdier. Etter denne operasjonen er ferdig, vil det være en endimensjonal matrise av verdier , og enden av radene vil være preget av tomme strenger .
Dim verdier = contents.Split ( ) Dim arr Som ArrayList = Ny ArrayListDim rader Som ArrayList = Ny ArrayList
REM Flytt dataene inn i en 2D- array. For x As Integer = 0 For å lines.Length - 1Hvis linjer ( x ) ISNOT String.Empty Thenarr.Add ( linjer ( x ) ) End Ifrows.Add ( arr.Clone ) arr.Clear ( ) Neste
dim data ( rows.Count , rader ( 0 ) teller. ) Som String
For x As Integer = 0 For å rows.Count - 1for y As Integer = 0 til rader ( x ) teller - . 1data ( x , y ) = p ( x ) ( y ) NextNext
End Sub