Kommasepareret værdi ( CSV) formatet er et fælles format, der bruges til at udveksle data mellem forskellige programmer, der kan ikke understøtter hinandens native format . For eksempel kan det bruges til at udveksle regnearksdata 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 udbredt støtte 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å "File " 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 form. Da denne kontrol er i første omgang usynlig , vil det ikke blive vist på din form, men snarere under det.
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 til et 2D- matrix : Hej
Private Sub Button1_Click ( ByVal afsender Som System.Object , ByVal e Som System.EventArgs ) Handles Button1.Click REM Få filen brugeren ønsker at load.OpenFileDialog1.ShowDialog ( ) Dim filename As String = OpenFileDialog1.FileNameDim FILESTREAM Som System.IO.StreamReader = Ny System.IO.StreamReader ( filename) REM Læs alle data fra filen til en single string.Dim indhold As String = fileStream.ReadToEnd
REM Split strengen i sine værdier. Efter denne operation er færdig, vil der være en endimensional matrix 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 = New ArrayListDim rækker, som ArrayList = New ArrayList
REM Flyt data i en 2D- array. For x As Integer = 0 Til lines.Length - 1Hvis linier (x ) isnot String.Empty Thenarr.Add ( linjer ( x ) ) End Ifrows.Add ( arr.Clone ) arr.Clear ( ) Næste
dim data ( rækker , rækker ( 0) tæller . ) As String
x As Integer = 0 Til rækker - 1Nærmere y As Integer = 0 Til rækker ( x ) count - . 1Data (x , y) = rækker ( x ) ( y) NextNext
End Sub