none
Formatar células do Excel após exportar dados do datagridview. RRS feed

  • Pergunta

  • Olá galera, minha dúvida é o seguinte.

    eu usei esse código, para exportar as linhas do meu datagridview para um arquivo de Excel.

         SaveFileDialog salvar = new SaveFileDialog();
    
            
    
    Excel.Application App; // Aplicação Excel
    Excel.Workbook WorkBook; // Pasta
    Excel.Worksheet WorkSheet; // Planilha
    object misValue = System.Reflection.Missing.Value;
    
                App = new Excel.Application();
                WorkBook = App.Workbooks.Add(misValue);
                WorkSheet = (Excel.Worksheet)WorkBook.Worksheets.get_Item(1);
                int i = 0;
                int j = 0;
    
                // passa as celulas do DataGridView para a Pasta do Excel
                for (i = 0; i <= dgvfisica.RowCount - 1; i++)
                {
                    for (j = 0; j <= dgvfisica.ColumnCount - 1; j++)
                    {
                        DataGridViewCell cell = dgvfisica[j, i];
                        WorkSheet.Cells[i + 1, j + 1] = cell.Value;
                    }
                }
    
                // define algumas propriedades da caixa salvar
                salvar.Title = "Exportar para Excel";
                salvar.Filter = "Arquivo do Excel *.xls | *.xls";
                salvar.ShowDialog(); // mostra
    
                // salva o arquivo
                WorkBook.SaveAs(salvar.FileName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue,
    
                Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
                WorkBook.Close(true, misValue, misValue);
                App.Quit(); // encerra o excel
    
                MessageBox.Show("Exportado com sucesso!");

    O código funciona, só que ele manda os dados de qualquer jeito.
    eu gostaria de saber, se tem como por exemplo, fazer com que as células do Excel se auto ajuste de acordo com o tamanho do dado que está nas células do datagrid, gostaria também de saber se tem como incluir junto com os dados, os títulos das colunas, mudar a cor de algumas colunas etc.

    resumindo, gerar um relatório no Excel de uma forma mais formal e "bonita".

    atualmente o relatório está abrindo assim:


    Agradecido desde já.

    Rodrigo Leal.

    OBS: Meus conhecimentos no Excel são bem escassos 


    • Editado Rodrigo Leal quinta-feira, 20 de agosto de 2015 19:01
    quinta-feira, 20 de agosto de 2015 18:56

Respostas

  • Bom dia Rodrigo,

    O complicado é que a maior parte do material referente a programação que irá encontrar não vai estar traduzido. . Fazer uma pesquisa somente em Português limita bastante a possibilidade de encontrar uma solução online na maioria dos casos. De qualquer maneira peço que de uma olhada nestes links:

    Link 01

    Link 02

    Espero ter ajudado.


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    • Editado Marcos SJ sexta-feira, 21 de agosto de 2015 13:46
    • Marcado como Resposta Marcos SJ sexta-feira, 21 de agosto de 2015 19:22
    sexta-feira, 21 de agosto de 2015 13:45

Todas as Respostas

  • Olá Rodrigo,

    Tudo bem ?

    Peço que verifique esta solução que talvez poderá te auxiliar em parte com a sua dúvida.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    • Editado Marcos SJ quinta-feira, 20 de agosto de 2015 20:35
    quinta-feira, 20 de agosto de 2015 20:35
  • Olá Rodrigo,

    Tudo bem ?

    Peço que verifique esta solução que talvez poderá te auxiliar em parte com a sua dúvida.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    eu não entendo muito inglês :c
    quinta-feira, 20 de agosto de 2015 20:51
  • Bom dia Rodrigo,

    O complicado é que a maior parte do material referente a programação que irá encontrar não vai estar traduzido. . Fazer uma pesquisa somente em Português limita bastante a possibilidade de encontrar uma solução online na maioria dos casos. De qualquer maneira peço que de uma olhada nestes links:

    Link 01

    Link 02

    Espero ter ajudado.


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    • Editado Marcos SJ sexta-feira, 21 de agosto de 2015 13:46
    • Marcado como Resposta Marcos SJ sexta-feira, 21 de agosto de 2015 19:22
    sexta-feira, 21 de agosto de 2015 13:45