Aquí tienes un ejemplo donde vuelco un txt a un datatable, quizas te sirva.



          private DataTable CargarTabla(string fileName)
        {
            char delimiter = '\t';
            DataTable dataTable = new DataTable();


            string[] rows = GetRows(fileName);


            if (rows.Length > 0)
            {


                #region Columns
                string[] columns = rows[0].Split(new char[] { delimiter });

                foreach (string column in columns)
                {

                    //strColumna = strColumna.Replace(c.ToString(),
"\x00a0");
                    dataTable.Columns.Add(column);
                    //string miColumna = string.Empty;
                    //foreach (char ca in column)
                    //    miColumna += string.Format("{0:x4} ", (int)ca);

                }
                #endregion

                #region Rows
                for (int i = 1; i < rows.Length; i++)
                {
                    string[] fila = rows[i].Split(new char[] { delimiter });
                    if (fila.Length <= 1) continue;
                    dataTable.Rows.Add(fila);
                }
                #endregion
            }
            return dataTable;
        }

private string[] GetRows(string fileName)
        {
            string[] rows = File.ReadAllLines(fileName);

            if (rows.Length <= 0) return rows;

            char delimiter = '\t';
            char c = (char)65533;
            string[] columns = rows[0].Split(new char[] { delimiter });

            char[] specialChars = { c };

            var salida = Array.FindAll(columns, p =>
p.IndexOfAny(specialChars) > 0);

           if (salida.Length > 0)
            {
                rows = File.ReadAllLines(fileName, Encoding.Default);
                columns = rows[0].Split(new char[] { delimiter });
            }

            return rows;

        }


El 9 de enero de 2013 11:13, Tito Molina <[email protected]> escribió:

> Hola, resulta que quiero recorrer todas las lineas de un archivo de texto.
> Cuando ejecuto el siguiente código me muestra el último
>
>     Private Sub btnCargarArchivo_Click(ByVal sender As System.Object,
> ByVal e As System.EventArgs) Handles btnCargarArchivo.Click
>         Dim DGBox As New OpenFileDialog
>         DGBox.Filter = "Archivos de texto plano (.txt)|*.txt"
>         DGBox.Multiselect = False
>         DGBox.ShowDialog()
>         If DGBox.FileName.Length > 0 Then
>             Using Archivo As New System.IO.StreamReader(DGBox.FileName)
>                 Dim Columna() As String
>                 While Not Archivo.EndOfStream
>                     Columna = Archivo.ReadLine.Split(";")
>
>                     txtCasa.Text = String.Format("{0}", Columna(0))
>                     txtOficina.Text = String.Format("{0}", Columna(1))
>                     txtCuenta.Text = String.Format("{0}", Columna(2))
>                     txtAño.Text = String.Format("{0}", Columna(3))
>                     txtMes.Text = String.Format("{0}", Columna(4))
>                     txtImporte.Text = String.Format("{0:C}", Columna(5))
>                     txtNumeroCuota.Text = String.Format("{0}", Columna(6))
>                     txtDNI.Text = String.Format("{0}", Columna(7))
>                     txtReparticion.Text = String.Format("{0}", Columna(8))
>                     txtBoleta.Text = String.Format("{0}", Columna(9))
>                     txtAfiliado.Text = String.Format("{0}", Columna(10))
>                 End While
>             End Using
>         End If
>     End Sub
>
> Me interesaría saber como hacer para leer la primera fila de dicho
> registro. Luego yo me daría maña para leer cualquier fila que es lo que en
> realidad quiero hacer. Muchas gracias
>
> --
> Roberto Miguel Molina
>



-- 
Saluda ATTE.
*Andrés Guzmán Oyaneder.
09-9319111
*[email protected]

Responder a