C# - ListView - Preenchendo com dados e Exportando para Texto e Excel - III


 Neste artigo vou mostrar como preencher um controle ListView com dados usando o Entity Framework, como exibir os dados selecionados em um linha do ListView e como exportar os dados para o formato texto e Excel.

Continuando a  segunda parte do artigo vou mostrar como exportar o conteúdo do ListView para o formato texto , salvando em um arquivo .txt em uma pasta definida.

Vamos lá...

Recursos Usados

Exportando o conteúdo do ListView para o formato texto

Abra o projeto C_ListView1 criado no artigo anterior no VS 2015 Community;

No evento Click do botão de comando Exportar Texto do formulário Form1.cs  inclua o código abaixo:

      private async void btnExportarTexto_Click(object sender, EventArgs e)
        {
            using (SaveFileDialog sfd = new SaveFileDialog()
            {
                Filter = "Texto |* .txt",
                InitialDirectory = @"c:\dados\txt",
                FileName ="DadosListView_Texto_" + DateTime.Now.Millisecond.ToString() + ".dat" ,
                ValidateNames = true
            })

            {
                if(sfd.ShowDialog() == DialogResult.OK)
                {
                    using (TextWriter tw = new StreamWriter(new FileStream(sfd.FileName, FileMode.Create), Encoding.UTF8))
                    {
                        foreach(ListViewItem item in lvwDados.Items)
                        {
                            await tw.WriteLineAsync(item.SubItems[0].Text +
                                "\t" + item.SubItems[1].Text +
                                "\t" + item.SubItems[2].Text +
                                "\t" + item.SubItems[3].Text);             
                 
                        }
                        MessageBox.Show("Seus dados foram exportados para o formato texto com sucesso");
                    }
                }
            }
     }

Vamos entender o código:

1- Usamos o controle SaveFileDialog para abrir uma janela de diálogo Salvar Arquivos e definimos as seguintes propriedades:

  • Filter - exibimos apenas arquivos .txt;
  • InitialDirectory - definimos a pasta inicial ("c:\dados\txt) que será apresentada na janela de diálogo;
  • FileName - Criamos um nome para o arquivo que será salvo usando nome 'DadosListView_Texto_' mais um número (miliesgundos) mais e extensão .dat;
  • ValidateNames - true - Somente serão aceitos nomes de arquivos válidos;

2 - Se o usuário não cancelar a janela de diálogo SaveDialog - if(sfd.ShowDialog() == DialogResult.OK)

3 - Criamos uma instância da classe TextWriter que iremos usar para criar e escrever no arquivo texto;

      foreach(ListViewItem item in lvwDados.Items)

4 - Percorremos o ListView - lvwDados - e escrevemos cada item no arquivo texto;

                        foreach(ListViewItem item in lvwDados.Items)
                        {
                            await tw.WriteLineAsync(item.SubItems[0].Text +
                                "\t" + item.SubItems[1].Text +
                                "\t" + item.SubItems[2].Text +
                                "\t" + item.SubItems[3].Text);             
                 
                        }

Executando o projeto e clicando no botão Exporta Texto iremos obter:

Na próxima parte do artigo veremos como exportar o conteúdo do Listview para o Excel.

(Jesus) Veio para o que era seu, e os seus não o receberam.
Mas, a todos quantos o receberam, deu-lhes o poder de serem feitos filhos de Deus, aos que crêem no seu nome;
Os quais não nasceram do sangue, nem da vontade da carne, nem da vontade do homem, mas de Deus.
João 1:11-13

 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

Referências:


José Carlos Macoratti