Allgemein Kostenlose Downloads Tutorials Visual Basic.NET Visual Basic.NET - Snippets

[VB.NET][SNIPPET] CSV-Importer Schnippsel

Hey Leute,
ich habe gerade ne CSV-Importer Klasse geschrieben.

Was ist CSV?
CSV ist ein „Tabellenformat“ welches sehr weit verbreitet ist.

Wie ist der Datenaufbau?
Die Daten sind standardmäßig so aufgebaut
Spalte1Zeile1;Spalte1Zeile2;Spalte1Zeile3;Spalte1Zeile4
Spalte2Zeile1;Spalte2Zeile2;Spalte2Zeile3;Spalte2Zeile4

Code

Namespace CSV
    Public Class IMPORTER
        ''' <summary>
        ''' Legt die CSV Daten fest oder gibt diese zurück.
        ''' </summary>
        ''' <value>Die CSV Daten.</value>
        ''' <returns>Gibt CSV Daten als String zurück.</returns>
        ''' <remarks></remarks>
        Public Property strDATA As String
        ''' <summary>
        ''' Legt die Zeilen der CSV fest, oder gibt diese zurück.
        ''' </summary>
        ''' <value>Die Zeilen als List(Of Row).</value>
        ''' <returns>Gibt die Zeilen als List(Of Row) zurück.</returns>
        ''' <remarks></remarks>
        Public Property arrROWS As New List(Of Row)
 
        ''' <summary>
        ''' Erstellt einen neuen CSV Importer.
        ''' </summary>
        ''' <param name="strINPUT">Die CSV Daten als String oder mit Angabe von boolIS_FILE als Pfad zu einer Datei.</param>
        ''' <param name="boolIS_FILE">Gibt an ob strINPUT ein Pfad zu einer Datei ist.</param>
        ''' <remarks></remarks>
        Sub New(ByVal strINPUT As String, Optional ByVal boolIS_FILE As Boolean = False)
            If boolIS_FILE = True Then
                strDATA = My.Computer.FileSystem.ReadAllText(strDATA)
            Else
                strDATA = strINPUT
            End If
            For Each strROW As String In Split(strDATA, Chr(13) & Chr(10))
                arrROWS.Add(New ROW(Split(strROW, ";")))
            Next
        End Sub
    End Class
 
    Public Class ROW
        ''' <summary>
        ''' Legt die Spalten der Zeile fest, oder gibt diese zurück.
        ''' </summary>
        ''' <value>Die Spalten als String-Array</value>
        ''' <returns>Gibt die Spalten der Zeile zurück.</returns>
        ''' <remarks></remarks>
        Public Property COLLUMNS As String()
        Sub New(ByVal strCOLLUMNS() As String)
            COLLUMNS = strCOLLUMNS
        End Sub
    End Class
End Namespace

Verwendung

    Dim CSVstr As String = "TEST;TEST2;TEST3;TEST4" & Chr(13) & Chr(10) & "TEST5;TEST6;TEST7;TEST8"
    Dim Importer As New CSV.IMPORTER(CSVstr, True)
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MsgBox(Importer.arrROWS(0).COLLUMNS(3))
    End Sub

Sonstiges
Dieser Code wurde in Option Strict On geschrieben.
Ihr dürft wie immer diesen Code überall auch ohne Credits verwenden.

Kritik und Lob wie immer erlaubt 🙂

Gruß,
Julian


341x gelesen

Print Friendly, PDF & Email

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.