Explicamos cómo exportar el
contenido de un DataGridView a un fichero de texto plano separado por
punto y coma, que se puede abrir con Office Excel, OpenOffice Calc o con
LibreOffice Calc, incluso con cualquier editor de texto plano (notepad,
vi, nano).
dlGuardar.Filter = "Fichero CSV (*.csv)|*.csv"; dlGuardar.FileName = "Datos_sqlite"; dlGuardar.Title = "Exportar a CSV"; if (dlGuardar.ShowDialog() == DialogResult.OK) { StringBuilder csvMemoria = new StringBuilder(); //para los títulos de las columnas, encabezado for (int i = 0; i < dbTabla.Columns.Count; i++) { if (i == dbTabla.Columns.Count - 1) { csvMemoria.Append(String.Format("\"{0}\"", dbTabla.Columns[i].HeaderText)); } else { csvMemoria.Append(String.Format("\"{0}\";", dbTabla.Columns[i].HeaderText)); } } csvMemoria.AppendLine(); for (int m = 0; m < dbTabla.Rows.Count; m++) { for (int n = 0; n < dbTabla.Columns.Count; n++) { //si es la última columna no poner el ; if (n == dbTabla.Columns.Count - 1) { csvMemoria.Append(String.Format("\"{0}\"", dbTabla.Rows[m].Cells[n].Value)); } else { csvMemoria.Append(String.Format("\"{0}\";", dbTabla.Rows[m].Cells[n].Value)); } } csvMemoria.AppendLine(); } System.IO.StreamWriter sw = new System.IO.StreamWriter(dlGuardar.FileName, false, System.Text.Encoding.Default); sw.Write(csvMemoria.ToString()); sw.Close(); }Donde:
* dlGuardar: componente de tipo SaveFileDialog.
* dbTabla: componente de tipo DataGridView con los datos a exportar a fichero.
No hay comentarios:
Publicar un comentario