none
Dispose excel RRS feed

  • Pergunta

  • Olá mais uma vez pessoal.

    Meu programa importa os dados de uma planilha excel e cria um gráfico, após visualizar esse gráfico se deve clicar em "Cancelar", seja para sair do programa, seja para selecionar outra planilha.

    Porém descobrí pelo Gerenciador de Tarefas que é aberto um EXCEL.EXE para cada planilha que meu programa lê, e mesmo após eu ter colocado o this.Dispose() no Cancelar_Click os EXCEL.EXE continuam alocados na memoria. E o safado continua lá mesmo depois q eu encerro meu programa. Alguém pode me ajudar? Segue meu código para exemplo.

    private void btnCancelar_Click(object sender, EventArgs e)
        {
          TabelaDados.Dispose();
          this.Dispose();
          frmImportar importar = new frmImportar();
          {
            importar.Show();
            this.Visible = false;
          }
        } 
    

    Nesse evento eu retorno para a tela de seleção onde há outro Evento com um dispose, que me direciona para o menu do programa.

    private void btnCancelar_Click(object sender, EventArgs e)
        {      
          this.Dispose();
          Main main = new Main();
          {
            main.Show();
            this.Visible = false;
          }
        }
    

    E por ultimo, o menu inicial.

    private void button3_Click(object sender, EventArgs e)
        {
          this.Dispose();
          Application.Exit();      
        }
    
    Alguém sabe onde q eu estou errando?
    Pra treinar qualquer bola serve.
    quarta-feira, 27 de abril de 2011 21:41

Respostas

  • Encontrei o q precisava.

    No caso eu declaro um objeto ExcelObj e depois declaro meu Dataset e Datatable, onde coloco as informações importadas do meu excel.

    basta colocar um ExcelObj.Quit();  após preencher meu dataset e datatable.

    Com isso, recebo as informações que preciso para o meu grafico e já descarto o excel


    Pra treinar qualquer bola serve.
    • Marcado como Resposta Edu Loyarte quinta-feira, 28 de abril de 2011 17:20
    quinta-feira, 28 de abril de 2011 17:18