none
Ayuda con archivo de texto. RRS feed

  • Pregunta

  • Hola, tengro problemas con unrchivo txt, quiero insertarlo a una base de datos. Esta dividido en 5 columnas, pero no todas las columnas tiene el mismo largo, ni el mismo numero de espacios entre columnas, entonces lo que intente hacer es ponerle un substring para que lo tome por decir el de la 3 columna como una cadena.

    Asi fue lo que hice con el substring:

    fila = fila.Substring(26, 32);

    Pero no esta funcionando. Agrego mi parte de codigo, por que realmente no encuentro donde puede estar el problema.

    private DataRow AgregarFilaBancomer(String fila, DataTable tabla)
            {
                int cantidadColumnas = 100;
                String[] valores = fila.Split(new char[] { ' ' });
                //fila = fila.Replace(" ", "");
                fila = fila.Substring(26, 32);
                Int32 numeroTotalValores = valores.Length;
                    
                if (numeroTotalValores > cantidadColumnas)
                {
                    Int32 diferencia = numeroTotalValores - cantidadColumnas;
                    for (Int32 i = 0; i < diferencia; i++)
                    {
                        String nombreColumna = String.Format("{0}", (cantidadColumnas + i));
                        tabla.Columns.Add(nombreColumna, Type.GetType("System.String"));
                    }
                    cantidadColumnas = numeroTotalValores;
                }
                int idx = 0;
                DataRow dfila = tabla.NewRow();
                foreach (String val in valores)
                {
                    String nombreColumna = String.Format("{0}", idx++);
                    dfila[nombreColumna] = val.Trim();
                }
                tabla.Rows.Add(dfila);
                return dfila;
            }

    ejemplo de mi archivo:

    lunes, 26 de marzo de 2012 22:59

Respuestas

  • porque en lugar de complciarlo no usas

    http://filehelpers.sourceforge.net/

    este te permite parsear el archivo y volcarlo a una clase que definas de forma directa, con muy pocas lienas de codigo

    digo para que matararse si hay librerias que ya lo resuleven

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 26 de marzo de 2012 23:14