Popular

Obten claves web y navega gratis Router keygen para Android

Error 403 Forbidden con phpmyadmin y WAMP Server

Realizar suma, resta y división con javascript

Leer Archivo CSV

En esté ejemplo explicaremos como leer un archivo CSV y convertirlo en un objeto ya que en el siguiente post veremos como insertar los datos a la DataBase.

El archivo a leer tendrá la siguiente estructura: 



El archivo anterior tiene una estructura de 3 columnas y 4 filas donde la primera fila es el encabezado del archivo y a partir de la segunda línea se tienen los productos.

Para realizar la lectura del archivo puedes utilizar el siguiente código, para más detalle puedes ver el vídeo: 
	private DataTable ConvertCSVToDataTable(string path)
        {
            DataTable datatable = new DataTable();
            string data;
            using (StreamReader sr = new StreamReader(path))
            {
                char separator = ',';
                data = sr.ReadLine();

                //Consideramos que el archivo tiene un encabezado.
                foreach (string columns in data.Split(separator))
                {
                    datatable.Columns.Add(columns);
                }

                //Obtenemos la data.
                data = sr.ReadLine();
                while (!string.IsNullOrEmpty(data))
                {
                    DataRow dataRow = datatable.NewRow();
                    int indexColumn = 0;
                    foreach (string dataColumn in data.Split(separator))
                    {
                        dataRow[indexColumn] = dataColumn;
                        indexColumn++;
                    }
                    datatable.Rows.Add(dataRow);
                    data = sr.ReadLine();
                }

                return datatable;
            }
        }

Descargar código fuente


Comentarios

Entradas populares de este blog

Error 403 Forbidden con phpmyadmin y WAMP Server

Número de filas afectadas por instrucción PL/SQL en Oracle [Utilidades].

Como truncar un número decimal en C# sin redondear.