Lenguaje de programación Visual C# .Net
Explicamos cómo exportar el contenido de un ListView con varias columnas 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 = "Lista PDF Nóminas";
dlGuardar.Title = "Exportar a CSV";
if (dlGuardar.ShowDialog() == DialogResult.OK)
{
StringBuilder csvMemoria = new StringBuilder();
foreach (ColumnHeader columnasLista in lsPDF.Columns)
{
csvMemoria.Append(String.Format("\"{0}\";", columnasLista.Text));
}
csvMemoria.AppendLine();
foreach (ListViewItem elementosLista in lsPDF.Items)
{
foreach (ListViewItem.ListViewSubItem lvs in elementosLista.SubItems)
{
if (lvs.Text.Trim() == string.Empty)
csvMemoria.Append("\"\";");
else
csvMemoria.Append(String.Format("\"{0}\";", lvs.Text));
}
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: será un componente no visual de tipo SaveFileDialog.
* lsPDF: componente visual ListView.
Publicado el: 2012-12-04