Lire fichier texte via lecteur de flux
J'ai un nom de fichier texte list.txt qui contient des données comme suit;
AC-No. Name Time State New State Exception
100 ZULFIQUAR 09/04/2012 01:53 PM C/In Invalid
100 ZULFIQUAR 10/04/2012 01:39 PM C/In Invalid
100 ZULFIQUAR 11/04/2012 01:38 PM C/In Invalid
1002 SAQIB 09/04/2012 10:42 PM C/In C/Out OK
1002 SAQIB 10/04/2012 08:01 AM C/In OK
1002 SAQIB 10/04/2012 10:28 PM C/In C/Out OK
1002 SAQIB 11/04/2012 09:25 AM C/In OK
1002 SAQIB 11/04/2012 10:40 PM C/In C/Out OK
1002 SAQIB 12/04/2012 07:15 AM C/In OK
1002 SAQIB 12/04/2012 11:12 PM C/In C/Out OK
1002 SAQIB 13/04/2012 07:23 AM C/In OK
1002 SAQIB 13/04/2012 10:53 PM OverTime Out Invalid
1002 SAQIB 14/04/2012 06:58 AM OverTime Out Invalid
1002 SAQIB 15/04/2012 10:50 PM C/In Invalid
1002 SAQIB 16/04/2012 07:09 AM C/In OK
1002 SAQIB 17/04/2012 10:36 PM C/In C/Out OK
1002 SAQIB 18/04/2012 07:21 AM C/In OK
1002 SAQIB 18/04/2012 10:46 PM C/In C/Out OK
1002 SAQIB 19/04/2012 06:32 AM C/In OK
1002 SAQIB 19/04/2012 10:47 PM C/In C/Out OK
maintenant je dois choisir trois colonnes(AC-Non,Nom.Temps) avec l'ensemble de la ligne et de donner datagridview sa source de données.
pour l'instant je suis à l'aide de code suivant, mais pas de chance.
Dim tbl As New DataTable("mytable")
tbl.Columns.Add("col1", GetType(String))
'tbl.Columns.Add("col2", GetType(String))
'tbl.Columns.Add("col3", GetType(Integer))
Dim sFilename As String = TextBox1.Text
Dim myStream As System.IO.StreamReader = New System.IO.StreamReader(sFilename)
Dim line As String
Dim aRow As DataRow
Do
line = myStream.ReadLine()
If line Is Nothing Then
Exit Do
End If
Dim sAry As String() = Split(line, " ")
aRow = tbl.NewRow
aRow(0) = sAry(0)
'aRow(1) = sAry(1)
' aRow(2) = sAry(2)
tbl.Rows.Add(aRow)
Loop
myStream.Close()
DataGridView1.DataSource = tbl
s'il vous plaît aider moi.
- Quelle est la question, ce qui ne fonctionne pas?
Vous devez vous connecter pour publier un commentaire.
En supposant que 1) vous avez montré un fichier fixe avec des largeurs de colonne, 2) vous aurez besoin de temps comme un DateTime plutôt qu'une chaîne et 3) que les CA-Non. est vraiment une chaîne de caractères et un entier:
(Testé travail dans les VB2010 avec vos données comme indiqué.)
juste une suggestion, essayez mystream.readtoend (), puis couper à chaque vbnewline après que vous avez une chaîne distincte pour chaque ligne, où u peut le débogage et de jouer jusqu'à ce que vous obtenez le bon résultat.