Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
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 Sub
Un 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




Publicado el: 2011-04-25

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A