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.785 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. |
sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |