• Jueves 28 de Marzo de 2024, 15:32

Autor Tema:  Cerrar Excel  (Leído 1485 veces)

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Cerrar Excel
« en: Martes 7 de Agosto de 2007, 21:42 »
0
Buenas, estoy haciendo algunas cosas con excel y me acabo de dar cuenta que no puedo cerrar los archivos que uso.

Lo abro de la siguiente forma:

Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlLibro;

xlLibro = xlApp.Workbooks.Open(sRutaExcel, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

y para cerrarlo hago

xlLibro.Close(false, Missing.Value, Missing.Value);
xlApp.Quit();

por ahi vi que agregando esto podria funcionar pero tampoco:
GC.Collect();

no se, si a alguien se le ocurre algo le agradeceria que me de una mano!
saludos.

yaG

  • Miembro activo
  • **
  • Mensajes: 46
    • Ver Perfil
Re: Cerrar Excel
« Respuesta #1 en: Jueves 9 de Agosto de 2007, 19:07 »
0
para cerrarlo:

try{xlsApp.Visible = false;}
        catch (Exception)
        {
            try{xlsWb.Close(false, Missing.Value, Missing.Value);}
            catch (Exception)
            {
                try{xlsApp.Quit();} //lo cierro
                catch (Exception){}
            }
        }
        finally //A veces por mas que lo cierres queda en memoria... nunca supe por  //que...
        {
           foreach (Process prc in Process.GetProcesses())
            {
                if (prc.ProcessName == "EXCEL")
                {
                    if (!prc.Responding)
                    {
                        prc.Close();    //lo quito de memoria
                    }        
                }
            }
}

o algo asi, es para que te des una idea y vayas probando, depura ese codigo.. hacete una funcion para q te cierre los procesos, no se.. fijate si te sirve...
Tampoco lo probe, puede tener algun error.. lo escribi asi nomas...
checkealo pero para que te des una idea deberia servir
[size=109]Antes de preguntar recuerda el concepto GIYF. Google is your friend.[/size][/u]

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Re: Cerrar Excel
« Respuesta #2 en: Jueves 9 de Agosto de 2007, 20:32 »
0
buensimo, lo pruebo entonces.

gracias.

jarmok

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Cerrar Excel
« Respuesta #3 en: Viernes 10 de Agosto de 2007, 12:02 »
0
Hola.
Yo me encontre con un problema similar al trabajar con excel. Al abrir el libro, leer los datos y cerrarlo luego, me salia un cuadro de dialogo, y acabe optando por matar los procesos EXCEL.exe, ya que quiero que la lectura de los datos se haga de manera transparente para el usuario. Asi funciona de lujo. Pero hay un problema serio.

La aplicacion que yo estoy desarrollando se utiliza en una oficina, y como en todas las oficinas, la posibilidad de que el usuario este trabajando con mi aplicación y excel a la vez es alta, y esta solucion cierra excel sin confirmacion para guardar, lo cual puede suponer la perdida de datos importantes.

Yo aun no he encontrado una buena solucion.
Si sabeis de algo que se pueda hacer yo tambien os lo agradeceria.