Anführungszeichen im Datagridview entfernen
- VB.NET
- .NET (FX) 4.5–4.8
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.
-
-
-
Zeig mal bitte Deinen EinlesecodeDieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Hi,
ich lese damit ein
VB.NET-Quellcode
- Dim fName As String = "C:\Temp\WA.csv"
- Dim TextLine As String = ""
- Dim SplitLine() As String
- If System.IO.File.Exists(fName) = True Then
- Dim objReader As New System.IO.StreamReader(fName)
- Do While objReader.Peek() <> -1
- TextLine = objReader.ReadLine()
- SplitLine = Split(TextLine, ";")
- Me.DataGridView1.Rows.Add(SplitLine)
- Loop
- Else
- MsgBox("File Does Not Exist")
- End If
so wie es ausschaut, sieht er alles als Text. Ist es möglich, zu formatieren? Formatiere ich in Excel vorher die CSV Spalten, dann geht es. Aber das will ich ja nicht immer machen müssen.
Lade ich die Daten erst in ein Datatable mit
VB.NET-Quellcode
- Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\;Extended Properties=Text;"
- Dim Connection As New OleDbConnection(ConnectionString)
- Dim DataAdapter As New OleDbDataAdapter("SELECT * FROM [WA.csv]", Connection)
- Dim dt As New DataTable("WA")
- DataAdapter.Fill(dt)
- DataGridView1.DataSource = dt
- dt.Dispose()
- DataAdapter.Dispose()
- '
- Connection.Close()
- Connection.Dispose()
dann funktioniert es, dass er es als Zahlen sieht und nicht mehr Text, aber er liest nur die erste Spalte ein -
-
Hi,
klar.
"VERLADETOR";"ZIELREG";"KFZ_KENNZEICHEN";"PAL_IST";"PAL_SOLL";"BEMERKUNG_DISPO";"IST_ANKUNFT";"BEGINN_VERLADUNG";"MIN_AUFPOS";"PLAN_ANKUNFT";
"9";"BE03";"ND80";"0";"49";"Rumst (TMS/Girteka)";"2019-12-16 17:11:00.0";"";"40";"2019-12-16 18:00:00.0";
Die blöden "" müssten weg und die Spalte mit Uhrzeit sollte ohne Datum sein
Ich bekomm Sie nur leider nicht anders aus dem System. Also muss die VB.NET das erledigen
-
-
Du kannst die Felder Trimmen.
docs.microsoft.com/en-us/dotne…tring_Trim_System_Char___
Aber die TextDelimiter sind nicht umsonst da.
Es könnte nämlich innerhalb eines Textes ein Semikolon vorkommen, das den ganzen Datensatz durcheinander wirft.
Deswegen gibt es in CSV den TextDelimiter.
Lade dir über nuget den CsvHelper und lies damit ein.
Der nimmt dir die Parser-Arbeit ab.--
If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
-- -
Svenundmel schrieb:
Die blöden "" müssten wegFalls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
@Svenundmel Formatieren.
Mach ein DateTime-Objekt draus und verwende die.Time
-Komponente.
RodFromGermany schrieb:
Hast Du Post #4 bereits gelesen?Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
-
@Svenundmel Ja was denn nun?
Oben belädtst Du einDataGridView
, nun eineDataTable
?
Lege Dich mal final fest.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Lösungsvorschlag meinerseits:
1. ich schreibe eine zum Datenmodell der CSV Datei passende Klasse
2. Csv Zeilenweise einlesen
3. während des jedem Durchlauf eine instanz der besagten Klasse erzegen und die Eingelesene Zeile an den Konstruktor besagter Klasse übergeben. Dort den Split durchführen, die einzelnen Daten gemäß Vorgabe casten und den Properties zuweisen
4. Instanz der Klasse in eine List(Of T) packen die man zu Beginn instanziert hat
5. List(Of T) als Datenquelle ins DataGridView hängen
6. fertig"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
-
@Eierlein
Wenn Strings gesplittet werden sollen, dann bitte mit String.Split() nicht mit Split(). Split liefert unter manchen Bedingungen auch mal Nothing zurück was die spätere Verarbeitung des Strings erschweren kann. Zudem ist das die alte VB6 Variante. String.Split() hingegen ist die neue .Net Variante."Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
Hi,
ich habe es jetzt mal mit
versucht. Klappt fast prima. Also die Anführungszeichen sind weg. Die Datumspalten zeigen nur noch die Zeit, jedoch in einem falschen Format. Sie zeigen 17:11:00.0
anstatt 17:11.
Wie würde das gehen? Kannst du mir nochmal helfen? Vielen Dank -
-
Ähnliche Themen
-
Machiavelli - - Sonstige Problemstellungen
-
F@bian - - Sonstige Problemstellungen
-
8 Benutzer haben hier geschrieben
- Svenundmel (9)
- RodFromGermany (6)
- petaod (3)
- Eierlein (3)
- Yanbel (2)
- VaporiZed (2)
- mrMo (2)
- Kirohn (1)