Exportar ListView a fichero CSV VB.Net
Lenguaje de programación Visual Basic .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.
La función para exportar un ListView a CSV con VB .Net:
'Exportar contenido ListView a formato CSV 'para abrir con Microsoft Office Excel, OppenOffice Calc o con Private Sub exportarListViewCSV(ByVal lstview As ListView, ByVal ficheroCSV As String) Dim lineasCSV As New System.Text.StringBuilder Dim lineaActual As String = String.Empty 'Escribir nombre de columnas y encabezados en la variable temporal For columnIndex As Int32 = 0 To lstview.Columns.Count - 1 lineaActual &= (String.Format("{0};", lstview.Columns(columnIndex).Text)) Next 'Quitar la coma final lineasCSV.AppendLine(lineaActual.Substring(0, lineaActual.Length - 1)) lineaActual = String.Empty 'Escribir los datos del ListView en la variable temporal For Each item As ListViewItem In lstview.Items For Each subItem As ListViewItem.ListViewSubItem In item.SubItems lineaActual &= (String.Format("{0};", subItem.Text)) Next 'Quitar coma final lineasCSV.AppendLine(lineaActual.Substring(0, lineaActual.Length - 1)) lineaActual = String.Empty Next 'Guardar datos variable temporal a fichero CSV Dim Sys As New System.IO.StreamWriter(ficheroCSV) Sys.WriteLine(lineasCSV.ToString) Sys.Flush() Sys.Dispose() End SubUn ejemplo de uso de la función anterior (con un SaveFileDialog llamado dlGuardar):
dlGuardar.Filter = "Archivos CSV (*.csv)|*.csv|Todos los archivos (*.*)|*.*" dlGuardar.FilterIndex = 1 dlGuardar.DefaultExt = "csv" dlGuardar.FileName = "Eventos google calendar" dlGuardar.OverwritePrompt = True dlGuardar.Title = "Guardar eventos Google Calendar" If dlGuardar.ShowDialog Then exportarListViewCSV(lsCitas, dlGuardar.FileName) End If
No hay comentarios:
Publicar un comentario