ListView in CSV exportieren mit VB.NET
Ein ListView in CSV exportieren ist mit VB.NET kein Problem. Diese List Views dienen zur Darstellung von Informationen in Windows Anwendungen. Doch diese Daten möchte man oft weiter verarbeiten und somit ist ein CSV Export wichtig.
Daten aus ListView in CSV exportieren mit VB.NET
Die Inhalte eines ListView lassen sich mit wenigen Zeilen Code in die Zwischenablage kopieren. Doch auch ein Export in eine CSV Datei ist mit VB.NET kein Problem. Es werden automatisch die Spalten und Inhalte ausgelesen und somit die CSV generiert.
Um ein ListView in CSV exportieren kann, nutzt man am Besten eine Function in VB.NET. Denn einer Function kann man den Dateinamen der Ausgabe-Datei und der Namen des Listview übergeben werden. Natürlich können die Namen und Pfade auch statisch gesetzt werden, falls man nur eine Liste hat.
Public Function ExportListViewToCSVFile(ByVal outFile As String, ByVal yourlv As ListView) As Boolean Try ' Ausgabedatei oeffnen Dim LvExp As New StreamWriter(outFile) ' Header schreiben For i As Integer = 0 To yourlv.Columns.Count - 1 ' Hochkomma und Anfuehrungszeichen kuerzen LvExp.Write("""" & yourlv.Columns(i).Text.Replace("""", """""") & """,") Next LvExp.WriteLine() ' Inhalte schreiben For i As Integer = 0 To yourlv.Items.Count - 1 For j As Integer = 0 To yourlv.Columns.Count - 1 ' Hochkomma und Anfuehrungszeichen kuerzen LvExp.Write("""" & yourlv.Items(i).SubItems(j).Text.Replace("""", """""")+ """,") Next LvExp.WriteLine() Next LvExp.Close() Catch ex As Exception ' Error-Handling MsgBox(ex.Tostring()) Return False End Try Return True End Function
Werden der Function die Parameter korrekt übergeben, werden automatisiert die Inhalte der ListView exportiert und in die angegebene Datei gespeichert. Möchte man dem User nun noch die Möglichkeit geben, die zu exportierende Datei zu wählen, so baut man eine Sub mit einem SaveFileDialog.
Public Sub ExportToCSV() 'SaveFileDialog erstellen und konfigurieren Dim dlg As New SaveFileDialog dlg.Filter = "CSV files (*.CSV)|*.csv" dlg.FilterIndex = 1 dlg.RestoreDirectory = True 'SaveFileDialog oeffnen If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then 'Wenn function liefert "TRUE" dann... If ExportListViewToCSV(dlg.FileName, YourListView) Then 'Datei oeffnen Process.Start(dlg.FileName) End If End If End Sub
Werden die Parameter korrekt übergeben und der Export des ListView wurde korrekt in eine CSV durchgeführt, so liefert die Function TRUE zurück. Ist das der Fall, so wird die Datei zur Ansicht geöffnet.