Das DataGridView-Control gehört sicherlich mit zu den am häufigsten verwendeten Controls in einer Windows-Forms-Anwendung. Heute stellen wir Ihnen eine Funktion vor, mit der sich der komplette Inhalt des DataGridView-Controls in eine Text-Datei exportieren lässt. Die erste Zeile der Textdatei soll hierbei die Feldbeschreibungen erhalten, also die Texte der Spaltenüberschriften. Anschließend folgend dann die einzelnen Datenzeilen. Das Trennzeichen der einzelnen Datenfelder innerhalb einer Datenzeile lässt sich durch Aufruf der überladenen Funktion ebenfalls angeben. Auch können Sie festlegen, dass Textfelder und Datumswerte autom. in Anführungszeichen gespeichert werden. ''' <summary> ''' Speichert den Inhalt eines DataGridView-Controls in eine Textdatei ''' Als Feldtrennzeichen wird das Komma verwendet ''' </summary> ''' <param name="DataGridView">DataGridView-Control</param> ''' <param name="Filename">Pfad+Dateiname der Textdadtei</param> Public Function DataGridView_ExportTXT(ByVal DataGridView As DataGridView, _ ByVal Filename As String) As Boolean Return DataGridView_ExportTXT(DataGridView, Filename, ",", False) End Function ''' <summary> ''' Speichert den Inhalt eines DataGridView-Controls in eine Textdatei ''' </summary> ''' <param name="DataGridView">DataGridView-Control</param> ''' <param name="Filename">Pfad+Dateiname der Textdadtei</param> ''' <param name="FieldSep">Feldtrennzeichen</param> Public Function DataGridView_ExportTXT(ByVal DataGridView As DataGridView, _ ByVal Filename As String, _ ByVal FieldSep As String) As Boolean Return DataGridView_ExportTXT(DataGridView, Filename, FieldSep, False) End Function ''' <summary> ''' Speichert den Inhalt eines DataGridView-Controls in eine Textdatei ''' </summary> ''' <param name="DataGridView">DataGridView-Control</param> ''' <param name="Filename">Pfad+Dateiname der Textdadtei</param> ''' <param name="FieldSep">Feldtrennzeichen</param> ''' <param name="QuoteText">True, wenn Text und Datumsfelder in ''' Anführungszeichen eingeschlossen werden sollen</param> Public Function DataGridView_ExportTXT(ByVal DataGridView As DataGridView, _ ByVal Filename As String, _ ByVal FieldSep As String, _ ByVal QuoteText As Boolean) As Boolean ' Rückgabewert Dim bResult As Boolean = False ' StreamWriter-Objekt Dim oStream As IO.StreamWriter = Nothing Try ' Textdatei zum Schreiben öffnen oStream = My.Computer.FileSystem.OpenTextFileWriter( _ Filename, False, System.Text.Encoding.Default) Catch ex As Exception ' Fehlerausgabe MsgBox("Textdatei konnte nicht erstellt werden!" & vbCrLf & _ ex.Message, MsgBoxStyle.Exclamation) End Try If oStream IsNot Nothing Then Dim i As Integer Try With DataGridView ' 1. Zeile = Feldbeschreibung For i = 1 To .Columns.Count If i > 1 Then oStream.Write(FieldSep) Debug.Print(.Columns(i - 1).ValueType.ToString) oStream.Write(.Columns(i - 1).HeaderText) Next i oStream.WriteLine() ' jetzt die einzelnen Datenzeilen speichern For i = 1 To .RowCount For u As Integer = 1 To .Columns.Count If u > 1 Then oStream.Write(FieldSep) Dim sValue As String If .Columns(u - 1).ValueType Is GetType(String) OrElse _ .Columns(u - 1).ValueType Is GetType(Date) Then ' wenn String oder Datum, Wert ggf. in Anführungszeichen setzen If QuoteText Then sValue = Chr(34) & .Rows(i - 1).Cells(u - 1).Value & Chr(34) Else sValue = .Rows(i - 1).Cells(u - 1).Value End If ElseIf .Columns(u - 1).ValueType Is GetType(Boolean) Then ' Boolean-Werte als 0 oder -1 speichern sValue = IIf(.Rows(i - 1).Cells(u - 1).Value, "-1", "0") Else ' bei numerischen Datentypen mit Nachkommastellen, ' als Dezimaltrennzeichen immer Punkt (.) verwenden ' --> Str(...) sValue = Str(.Rows(i - 1).Cells(u - 1).Value).Trim End If oStream.Write(sValue) Next u oStream.WriteLine() Next i End With ' Rückgabewert: Success bResult = True Catch ex As Exception ' Fehlerausgabe MsgBox("Fehler beim Erstellen der Exportdatei!" & vbCrLf & ex.Message, _ MsgBoxStyle.Exclamation) End Try ' Datei schließen oStream.Close() oStream = Nothing End If ' Rückgabewert der Funktion Return bResult End Function Dieser Tipp wurde bereits 22.826 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |