das steht bei mir im Programm, nur, wo gebe ich den speicherpfad an?
und dann schlaegt Option strict on noch ein paar verbesserungen vor....kommt das dann hin?
vielen dank!!
quelle: vbarchiv.net/tipps/tipp_1908.html
und dann schlaegt Option strict on noch ein paar verbesserungen vor....kommt das dann hin?
vielen dank!!
VB.NET-Quellcode
- ''' <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
quelle: vbarchiv.net/tipps/tipp_1908.html