none
Exportar dados DataGrid para txt RRS feed

  • Pergunta

  • Ola amigos, 

    O código esta funcionando beleza, o problema é que não salva com nenhuma extensão e quero que salve com a extensão txt. Claro se eu clicar com o botão direito no arquivo que foi salvo e abrir com documento de texto ele abre perfeitamente.

    Meu código esta assim

    Dim salvarComo As SaveFileDialog = New SaveFileDialog()
            Dim caminho As DialogResult
            Dim fluxoTexto As IO.StreamWriter
            Dim Arquivo As String
    
            salvarComo.CheckFileExists = False
            salvarComo.Filter = "TXT Files (*.txt*)|*.txt"
            caminho = salvarComo.ShowDialog
            Arquivo = salvarComo.FileName
    
            If Arquivo = Nothing Then
                MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK)
            Else
    
                fluxoTexto = New IO.StreamWriter(Arquivo)
                Using writer As New StreamWriter(caminho)
                    Dim i As Integer
                    For i = 0 To DataGridView1.Rows.Count - 1
                        fluxoTexto.WriteLine(DataGridView1.CurrentRow.Cells("CallNumber").Value.ToString.Trim())
    
                        'Remove o que tem no DataGrid
                        DataGridView1.Rows.RemoveAt(DataGridView1.CurrentRow.Index)
                    Next
                End Using
                fluxoTexto.Close()
    
            End If


    terça-feira, 24 de dezembro de 2013 22:52

Respostas

  • Não sei se tem a vê, mas uso o windows 7 e talvez por isso não salva com nenhuma extensão.

    Mas encontrei o MEU erro

    Tinha uma * a mais nessa linha

    salvarComo.Filter = "TXT Files (*.txt*)|*.txt"

    De qualquer modo fiz assim

    salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
    E deu certo. Fica o código correto para quem quiser

    Dim salvarComo As SaveFileDialog = New SaveFileDialog()
            Dim caminho As DialogResult
            Dim fluxoTexto As IO.StreamWriter
            Dim Arquivo As String
    
            salvarComo.CheckFileExists = False
            salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
            caminho = salvarComo.ShowDialog
            Arquivo = salvarComo.FileName
    
            If Arquivo = Nothing Then
                MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK)
            Else
    
                fluxoTexto = New IO.StreamWriter(Arquivo)
                Using writer As New StreamWriter(caminho)
                    Dim i As Integer
                    For i = 0 To DataGridView1.Rows.Count - 1
                        fluxoTexto.WriteLine(DataGridView1.CurrentRow.Cells("CallNumber").Value.ToString.Trim())
    
                        'Remove o que tem no DataGrid
                        DataGridView1.Rows.RemoveAt(DataGridView1.CurrentRow.Index)
                    Next
                End Using
                fluxoTexto.Close()
    
            End If

    Obrigado ao amigo ai em cima também

    • Marcado como Resposta Giovani Cr sexta-feira, 27 de dezembro de 2013 09:41
    quarta-feira, 25 de dezembro de 2013 18:57
  • Acabei de testar o seu código e aqui em casa gravou com .txt!!!!

    Faz um debug para ver o valor do Arquivo na linha

     If Arquivo = Nothing Then


    Fulvio Cezar Canducci Dias

    • Marcado como Resposta Giovani Cr sexta-feira, 27 de dezembro de 2013 09:41
    terça-feira, 24 de dezembro de 2013 23:16
  • Não sei se tem a vê, mas uso o windows 7 e talvez por isso não salva com nenhuma extensão.

    Mas encontrei o MEU erro

    Tinha uma * a mais nessa linha

    salvarComo.Filter = "TXT Files (*.txt*)|*.txt"

    De qualquer modo fiz assim

    salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
    E deu certo. Fica o código correto para quem quiser

    Dim salvarComo As SaveFileDialog = New SaveFileDialog()
            Dim caminho As DialogResult
            Dim fluxoTexto As IO.StreamWriter
            Dim Arquivo As String
    
            salvarComo.CheckFileExists = False
            salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
            caminho = salvarComo.ShowDialog
            Arquivo = salvarComo.FileName
    
            If Arquivo = Nothing Then
                MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK)
            Else
    
                fluxoTexto = New IO.StreamWriter(Arquivo)
                Using writer As New StreamWriter(caminho)
                    Dim i As Integer
                    For i = 0 To DataGridView1.Rows.Count - 1
                        fluxoTexto.WriteLine(DataGridView1.CurrentRow.Cells("CallNumber").Value.ToString.Trim())
    
                        'Remove o que tem no DataGrid
                        DataGridView1.Rows.RemoveAt(DataGridView1.CurrentRow.Index)
                    Next
                End Using
                fluxoTexto.Close()
    
            End If

    Obrigado ao amigo ai em cima também

    Por nada ... mas, feche o post amigo!!!

    Fulvio Cezar Canducci Dias

    • Marcado como Resposta Giovani Cr sexta-feira, 27 de dezembro de 2013 09:41
    quarta-feira, 25 de dezembro de 2013 22:42

Todas as Respostas

  • Acabei de testar o seu código e aqui em casa gravou com .txt!!!!

    Faz um debug para ver o valor do Arquivo na linha

     If Arquivo = Nothing Then


    Fulvio Cezar Canducci Dias

    • Marcado como Resposta Giovani Cr sexta-feira, 27 de dezembro de 2013 09:41
    terça-feira, 24 de dezembro de 2013 23:16
  • Não sei se tem a vê, mas uso o windows 7 e talvez por isso não salva com nenhuma extensão.

    Mas encontrei o MEU erro

    Tinha uma * a mais nessa linha

    salvarComo.Filter = "TXT Files (*.txt*)|*.txt"

    De qualquer modo fiz assim

    salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
    E deu certo. Fica o código correto para quem quiser

    Dim salvarComo As SaveFileDialog = New SaveFileDialog()
            Dim caminho As DialogResult
            Dim fluxoTexto As IO.StreamWriter
            Dim Arquivo As String
    
            salvarComo.CheckFileExists = False
            salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
            caminho = salvarComo.ShowDialog
            Arquivo = salvarComo.FileName
    
            If Arquivo = Nothing Then
                MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK)
            Else
    
                fluxoTexto = New IO.StreamWriter(Arquivo)
                Using writer As New StreamWriter(caminho)
                    Dim i As Integer
                    For i = 0 To DataGridView1.Rows.Count - 1
                        fluxoTexto.WriteLine(DataGridView1.CurrentRow.Cells("CallNumber").Value.ToString.Trim())
    
                        'Remove o que tem no DataGrid
                        DataGridView1.Rows.RemoveAt(DataGridView1.CurrentRow.Index)
                    Next
                End Using
                fluxoTexto.Close()
    
            End If

    Obrigado ao amigo ai em cima também

    • Marcado como Resposta Giovani Cr sexta-feira, 27 de dezembro de 2013 09:41
    quarta-feira, 25 de dezembro de 2013 18:57
  • Não sei se tem a vê, mas uso o windows 7 e talvez por isso não salva com nenhuma extensão.

    Mas encontrei o MEU erro

    Tinha uma * a mais nessa linha

    salvarComo.Filter = "TXT Files (*.txt*)|*.txt"

    De qualquer modo fiz assim

    salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
    E deu certo. Fica o código correto para quem quiser

    Dim salvarComo As SaveFileDialog = New SaveFileDialog()
            Dim caminho As DialogResult
            Dim fluxoTexto As IO.StreamWriter
            Dim Arquivo As String
    
            salvarComo.CheckFileExists = False
            salvarComo.Filter = "Documentos de texto (*.txt)|*.txt"
            caminho = salvarComo.ShowDialog
            Arquivo = salvarComo.FileName
    
            If Arquivo = Nothing Then
                MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK)
            Else
    
                fluxoTexto = New IO.StreamWriter(Arquivo)
                Using writer As New StreamWriter(caminho)
                    Dim i As Integer
                    For i = 0 To DataGridView1.Rows.Count - 1
                        fluxoTexto.WriteLine(DataGridView1.CurrentRow.Cells("CallNumber").Value.ToString.Trim())
    
                        'Remove o que tem no DataGrid
                        DataGridView1.Rows.RemoveAt(DataGridView1.CurrentRow.Index)
                    Next
                End Using
                fluxoTexto.Close()
    
            End If

    Obrigado ao amigo ai em cima também

    Por nada ... mas, feche o post amigo!!!

    Fulvio Cezar Canducci Dias

    • Marcado como Resposta Giovani Cr sexta-feira, 27 de dezembro de 2013 09:41
    quarta-feira, 25 de dezembro de 2013 22:42