SALVAR DGV EM CSV OU ABRIR O ARQUIVO CSV NA DGV
Alguém sabe como salvar uma tabela apresentada na DGV em CSV (Separado por virgula) e como fazer o inverso, para reconhecer cada coluna, separada como o próprio nome diz pela virgula. Grato
Mouser,
Montei um exemplo de CSV que está aqui no VBMania:
SAIDAS CSV, XML E XLSX
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9129
Acho que só precisa adaptar a leitura da DataGridView (registro a registro) e gravar no formato CSV.
Dá uma olhada e veja o que acha, qualquer coisa me chama.
[][ô]s,
Tunusat.
Montei um exemplo de CSV que está aqui no VBMania:
SAIDAS CSV, XML E XLSX
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9129
Acho que só precisa adaptar a leitura da DataGridView (registro a registro) e gravar no formato CSV.
Dá uma olhada e veja o que acha, qualquer coisa me chama.
[][ô]s,
Tunusat.
PARA GRAVAR O ARQuivo via DataGridView
Dim CSV As System.IO.StreamWriter = New System.IO.StreamWriter([Ô]C:\\GridData.csv[Ô])
Dim i As Integer, x As Integer
Dim QtdColunas As Integer = dataGridView1.ColumnCount - 1
For i = 0 To QtdColunas
CSV.Write(DataGridView1.Columns(i).HeaderText)
If (i < QtdColunas) Then
CSV.Write(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator)
End If
Next i
CSV.Write(CSV.NewLine)
Dim QtdRows As Integer = DataGridView1.Rows.Count - 1
For i = 0 To QtdRows
For x = 0 To QtdColunas
If (Not DataGridView1.Rows(i).Cells(x).Value Is Nothing) Then
CSV.Write(DataGridView1.Rows(i).Cells(x).Value.ToString())
End If
If (x < QtdColunas) Then
CSV.Write(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator)
End If
Next x
CSV.Write(CSV.NewLine)
Next i
CSV.Close()
PARA LER
Dim file As New System.IO.FileInfo([Ô]C:\\GridData.csv[Ô])
Dim dt As New DataTable
Using con As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & file.DirectoryName & [Ô];Extended Properties=[ô]text;HDR=Yes;FMT=Delimited(,)[ô];[Ô])
Using cmd As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand([Ô]SELECT * FROM [Ô] & file.Name, con)
con.Open()
Using da As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(cmd)
da.Fill(dt)
End Using
End Using
con.Close()
End Using
If dt IsNot Nothing Then
Me.DataGridView1.DataSource = dt
End If
End Sub
Tópico encerrado , respostas não são mais permitidas