Sei sulla pagina 1di 5

Cargar un DatagridView con un archivo de texto Delimitado por Comas

Usando un StreamReader (System.IO), la funcion split y openFileDialog.

Visitas:23103
Fecha publicacin:4/27/2008 7:34:24 PM

Este articulo permite que podamos cargar desde un archivo de texto (*.txt), los datos a una DataGridView, ideal para importar informacion y luego cargarla en nuestra base de datos. Aqui veran como cargarla pueden usar el articulo http://www.onglasses.net/default.aspx?articuloid=199 podran leer acerca de como guardarla. Crearemos un proyecto con una forma y agregaremos un datagrid.

Una vez tenemos nuestra forma al DataGridView, agregremos las columnas que deberian traer nuestro archivo de texto. para el ejemplo crearemos las columnas TextBoxColumn Nombre,Apellido,Edad y Profesion.

Una vez que tenemos las columnas tal como debe aparecer en nuestro archivo de texto.

Como notaran he delimitado el archivo de texto con "," igualmente lo podre hacer con ";",":" u otro caracter especial que ustedes decidan. Agregare un openfiledialog a mi forma para buscar el archivo de texto que voy cargar.

En el boton Examinar permitira ejecutar el openfiledialog y cargar la ruta del archivo en el

textbox.

private void btnExaminar_Click(object sender, EventArgs e) { openFileDialog1.InitialDirectory = "c:\\" ; openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; openFileDialog1.FilterIndex = 2 ; openFileDialog1.RestoreDirectory = true ; if (openFileDialog1.ShowDialog() == DialogResult.OK) { txtDirFile.Text = openFileDialog1.FileName; } }

una vez hemos cargado el archivo de texto que vamos a cargar. en el textbox.

Cuando tengamos el archivo vamos a cargar el contenido en el textbox para esto usaremos el siguiente codigo en el boton cargar. Aqui definiremos un objeto de tipo StreamReader que nos permitira leer el archivo de texto linea a linea por medio de un While. cada vez que lea una linea la signara a la variable texto de tipo string "texto = tr.ReadLine()". usando la funcion de cadenas Split nos permitira dividir la cadena, segun un caracter especifico en nuestro caso la coma, ademas de el numero de partes que debe generar en nustro caso son 4 columnas y la variable count contiene 4 por defecto. definiremos un arreglo de strings por que la funcion split nos retorna un arreglo de strings con cada parte que el delimito. por ultimo agregamos a nuestro datagridview las partes en el arreglo de strings dgvDatos.Rows.Add(split[0], split[1], split[2], split[3]);

private void btnCargar_Click(object sender, EventArgs e) { if (txtDirFile.Text != "") { string texto; int count = 4; string[] split = null; try

{ StreamReader tr = new StreamReader(txtDirFile.Text); while ((texto = tr.ReadLine()) != null) { //this.textBoxPwd.Text += texto; split = texto.Split(new Char[] { ,, :, ; }, count); dgvDatos.Rows.Add(split[0], split[1], split[2], split[3]); split = null; } MessageBox.Show("Le archivo se cargo correctamente", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { MessageBox.Show("Seleccione un archivo y un delimitador", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }

Espero les sea de utilidad alguien pregunto como lo cargaba en 4 textbox podria usar la misma forma y en vez de un datagrid coloc los textbox. Espero les sirva, y aporte en su vida como desarrolladores. el codigo en mas informacion...

Potrebbero piacerti anche