Textdatei in DataGridView einlesen! (in VB .NET)

Palin2100

Mitglied
Hallöchen!

Ich arbeite gerade an einem kleinem Programm. Es ist änlich Excel nur es sollte ganz simple Textdatein (*.txt) auslesen und zwar in ein DataGridView Control.

In diesen Textdatein ist eine Tabelle gespeichert. Zwischen den spalten befinden sich Tabulatoren als Trenner.
(hier eine Beispielsdatei: Anhang anzeigen Misc.txt)

1.) Ich müsste doch die Zeilenanzahl der Datei auslesen und dem Programm dann mitteilen das es genau so viele Zeilen (AddRow) im DataGridView erstellen soll.

Soweit so gut, aber,

2.) Wie lese ich die Spalten (Tabulator getrennte Spalten) aus und sage dem Programm gleich das er den Text in die Spalten einliest?

add 1.) ich hab eine dll die es ermöglicht die Zeilenanzahl einer txt-Datei auszulesen,
funktioniert auch supi, aber ich möchte nicht umbedingt eine dll einbauen!
Weis vielleicht jemand wie ich das per Code mache?

Wäre echt klasse wenn ihr mir helfen könnt/eine lösung per Rat habt!
Fettes Danke im Voraus!

.:Edit:.
Wiso sagt denn niemand etwas?
Das kann doch gar nicht so schwer sein, oda etwa doch?
thx td
____________________________
MfG Palin2100
 
Zuletzt bearbeitet:
Hi

Mit File.ReadAllLines kannst du alles Zeilen in ein String-Array einlesen.
Anschließend musst du Zeile für Zeile durchlaufen und Mit der Splitt-Methode die Zeile in die Spalten "splitten".
 
DAAANKE!
endlch.

Werde es heute gleich ausprobieren und ein bisschen rumtesten
melde mich morgen wieder obs gefuntzt hat.
Danke nochmals

mFg
Palin2100
 
*HUMPF*


So hab das mal getestet
mein jeztiger Code siet so aus:




Private Sub dateioeffnen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dateioeffnen.Click

' Den Filter der zum Öffnen der möglichen Dateitypen festlegen.
OpenFileDialog1.Filter = "Tabbed Text-File (*.txt;)|*.txt|Alle Datein (*.*)|*.*"


' Den Dialog zum Öffnen anzeigen, datei öffnen und auslesen.
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim path As String = OpenFileDialog1.FileName
Dim readText() As String = File.ReadAllLines(path)
End If
End Sub









Aber was mache ich nun? Es passiert nichts. Immerhin soll nun durch das Auslesen automatisch genau so viele
zeilen in der DataGridView hinzugefügt werden wie es Zeilen in der TXT giebt. Anschließend diese mit dem Text gefüllt.

Das mit der Split-Methode habe ich auch nicht ganz geschnallt.
Könntest du das bitte alles nochmals ganz genau für newbies erklären? Danke.

mfg
Palin2100
 
Zuletzt bearbeitet:
Also ich hab nicht wirklich viel Ahnung von VB, aber ich gehe mal davon aus dass
readText() ein Array ist.

Nach dem was du jetzt geschrieben hast brauchst du eine Schleife, die das ganze Array durchläuft. Für jeden string rufst du nun die Split Methode auf (string.split()), und lässt dir dadurch wieder ein string Array erstellen, dass die verschiedenen strings enthält. Diese musstg du nur noch ein die DataGridView eintragen
 
hi darkas,

das mit dem Array war mir schon klar,
aber ich weis nicht wie ich den Text nun in die DataGridView bekomme.

Schleife? was meinst du damit?
Könntest du nicht ein kleines codesample beifügen?
danke td

mfg
palin2100
 
Hi

Ich weiß zwar nicht, was an dem Wort Schleife im Bezug auf Programmierung unverständlich ist, aber ok. :suspekt:
C#:
DataGridViewRow row;
string[] lines = File.ReadAllLines("file.txt");
foreach(string line in lines)
{
    row = new DataGridViewRow();
    dataGridView.Rows.Add(row);
    string[] cells = line.Split(";");
    for(int i = 0; i < row.Cells.Length; i++)
    {
        row.Cells[i].Value = cells[i];
    }
}
Der Code ist ungetestet, sollte aber funktionieren. Das Prinzip sollte damit jedenfalls klar sein.
 
dank für die schnell Antwort!

Ich habe aber VB net und nicht C#.
Könntest du den Code nochmals für VB net nochmals umschreiben.
Ich werde es heute auch selbst probieren, glaube aber nicht das ich es schaffe.
bin noch ein kleines newbe

danke nochmals
mfg
Palin2100

!!EDIT!
hab das ganze mal in C# übertragen und es gab Probleme!
hier ein kleiner Schreeshot:

<<<SCREENY>>>
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück