none
calssificar coluna do excel com c# RRS feed

  • Pergunta

  • Olá pessoal.

    Estou exportando um datagridview para Excel e necessito classificar a coluna 04 em ordem crescente.

    Está exportando sem problemas conforme código abaixo.

     private void exportaDadosExcel(DataGridView dgvTecnicosModen)
            {//cria arquivo excel e salva na pasta de destino
    
                Excel.Application excelApp = new Excel.Application();
                excelApp.Application.Workbooks.Add(Type.Missing);
                //excelApp.Columns.ColumnWidth = 30;            
                excelApp.Visible = false;
                nomeArquivo = @"C:\Banco de Dados Click\Relatorio de Modem.xlsx";
                //cria o cabeçalho
                for (int c = 1; c < dgvTecnicosModen.Columns.Count + 1; c++)
                {
                    excelApp.Cells[1, c] = dgvTecnicosModen.Columns[c - 1].HeaderText;
                }
                //percorre o grid e salva cada célula
                for (int i = 1; i <= dgvTecnicosModen.Rows.Count - 1; i++)
                {
                    DataGridViewRow row = dgvTecnicosModen.Rows[i];
                    for (int j = 0; j <= row.Cells.Count - 1; j++)
                    {
                        if (((int)row.Cells[3].Value <= 10) & ((int)row.Cells[4].Value <= 8))
                        {
                            excelApp.Cells[i + 1, j + 1] = row.Cells[j].Value;
                        }
                    }
                }
                //salva o arquivo gerado 
                try
                {
                    //ajusta o tamanho da coluna
                    excelApp.Columns.AutoFit();
                    // excelApp.Columns.Sort(4, Excel.XlSortOrder.xlAscending);         
                    excelApp.ActiveWorkbook.SaveCopyAs(nomeArquivo);
                    excelApp.ActiveWorkbook.Saved = true;
                    excelApp.Quit();
                }
                catch (Exception excep)
                {
                    MessageBox.Show("Ocorreu um erro!!! \n Avise o Administrador " + excep.Message);
                    excelApp.Quit();
                    return;
                }

    alguém poderia me auxiliar?

    Obrigado

    sábado, 17 de janeiro de 2015 18:24

Respostas

  • Não sei se serve para o seu caso, mas ve se te ajuda:

    http://www.devmedia.com.br/funcao-para-retornar-celula-do-excel-c/18116

    Att,


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    segunda-feira, 19 de janeiro de 2015 11:24
    Moderador

Todas as Respostas

  • Bom dia Marcos,

    Não serviria retornar uma linha/coluna para uma célula não, quando você diz classificar seria o mesmo que ordenar?

    Att,


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    segunda-feira, 19 de janeiro de 2015 10:49
    Moderador
  • sim.

    quero dizer ordenar.

    com o if, no momento de exportar se não atende a condição a linha vai vazia para o Excel e se ordenar a linha vazia não será perceptível.

    obrigado

    segunda-feira, 19 de janeiro de 2015 11:15
  • Não sei se serve para o seu caso, mas ve se te ajuda:

    http://www.devmedia.com.br/funcao-para-retornar-celula-do-excel-c/18116

    Att,


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    segunda-feira, 19 de janeiro de 2015 11:24
    Moderador
  • Boa tarde Marcos,

    O link te ajudou em alguma coisa?

    Vou marcar como resposta para você receber um alerta e caso não seja útil, avisa que eu desmarco ou você mesmo pode desmarcar, que continuaremos tentando te ajudar ok?

    Abraço


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    terça-feira, 20 de janeiro de 2015 16:10
    Moderador
  • Ricardo

    Estava vendo isto agora.

    O link não ajudou, mas decidi Ordenar no datagridview e assim resolvo o meu problema.

    Agradeço o seu empenho em me ajudar.

    Sds.

    terça-feira, 20 de janeiro de 2015 16:18