CSV Datei in eine DatagridView einlesen vom FTP Server

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    CSV Datei in eine DatagridView einlesen vom FTP Server

    Hallo Ich versuche eine CSV Date in ein Datagridview einzulesen. Die Datei liegt auf einem FTP Server.

    Ich kann die Datei, wenn ich sie händisch auf meinen Rechner kopiere einlesen.
    Ich kann die Datei vom FTP Server in eine TextBox einlesen.

    Aber irgendwie steh ich auf dem Schlauch wenn ich die Datei direkt vom FTP Server ins DGV laden will.

    So lese ich die in die text Box

    VB.NET-Quellcode

    1. Dim wc As New Net.WebClient
    2. wc.Credentials = New Net.NetworkCredential("Name", "Passwort")
    3. TextBox1.Text = wc.DownloadString("ftp://192.168.0.200/2018_03.csv")




    Und so lese ich die Datei in das DGV

    VB.NET-Quellcode

    1. Private Sub CSV_einlesen()
    2. Dim Dateiname As String = "C:\Users\Friese\Desktop\OP Bericht\2018_03.csv"
    3. Dim ID As Integer
    4. Dim Datum As Date
    5. Dim Zeit As String
    6. Dim Intern As Double
    7. Dim A1 As Double
    8. Dim A2 As Double
    9. Dim A3 As Double
    10. Using csvParser As New TextFieldParser(Dateiname)
    11. With csvParser
    12. ' Feld-Trennzeichen
    13. .SetDelimiters(";")
    14. ' Festlegen, ob die Datenfelder in Anführungszeichen stehen
    15. .HasFieldsEnclosedInQuotes = False ' bzw. False
    16. ' Falls die 1. Zeile die Spaltennamen enthält
    17. Dim Header As String = .ReadLine()
    18. Dim Header2 As String = .ReadLine()
    19. ' Datei zeilenweise durchlaufen
    20. Dim FieldData() As String
    21. Do While Not .EndOfData
    22. ' alle Datenfelder der aktuellen Datenzeile lesen
    23. '"ID";"DATE";"TIME";"1";"104";"105";"106"
    24. '"TS";"DATE";"TIME";"Intern";"Anschluß 1";"Anschluss 2";"Anschluss 3"
    25. '1519858920;2018-03-01;00:02:00;23.380;-5.759;-18.857;-20.819
    26. '1519859520;2018-03-01;00:12:00;23.494;-5.749;-20.102;-20.265
    27. FieldData = .ReadFields()
    28. ID = FieldData(0)
    29. Datum = FieldData(1)
    30. Zeit = FieldData(2)
    31. Intern = FieldData(3)
    32. A1 = FieldData(4)
    33. A2 = FieldData(5)
    34. A3 = FieldData(6)
    35. DataGridView1.Rows.Add(ID, Datum, Zeit, Intern, A1, A2, A3)
    36. Loop
    37. End With
    38. End Using
    39. End Sub
    Dein TextFieldParser benötigt wohl halt eine lokale Datei und kann kein FTP.
    Vielleicht kannst du ihm ja einen String unterjubeln, aber dafür müsstest du die Doku des TextFieldParser konsultieren.
    Oder im ObjectBrowser selbst nachsehen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --