ASP.NET - Accedo a excel desde asp.net pero excel no cierra

 
Vista:

Accedo a excel desde asp.net pero excel no cierra

Publicado por wakeup (29 intervenciones) el 06/10/2004 17:54:10
Estoy accediento a excel desde una aplicacacion asp.net pero no hay forma que una vez cierre el archivo excel desaparezca de la lista de procesos de windows el excel.exe.
He probado este codigo en un proyecto vb.net (no web) y el proceso excel.exe se cierra perfectamente, pero en asp.net no hay manera. ¿Alguien saber porque?
Este es el codigo...

Dim oExcel As New Excel.Application
Dim oBooks As Excel.Workbooks, oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oSheets As Excel.Sheets

oExcel.Visible = False
oExcel.UserControl = False
oBooks = oExcel.Workbooks
oBooks.Open("prueba.xls") 'Load colorful template with graph

oBook = oBooks.Item(1)
oSheets = oBook.Worksheets
oSheet = CType(oSheets.Item(1), Excel.Worksheet)


Label1.Text = oSheet.Cells(1, 1).Value

oBook.Close()

'Quit Excel and thoroughly deallocate everything
oExcel.Quit()
ReleaseComObject(oSheet)
ReleaseComObject(oSheets)
ReleaseComObject(oBook)
ReleaseComObject(oBooks)
ReleaseComObject(oExcel)
oExcel = Nothing
oBooks = Nothing
oBook = Nothing
oSheets = Nothing
oSheet = Nothing
System.GC.Collect()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 56
Bronce
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

RE:Accedo a excel desde asp.net pero excel no cier

Publicado por Yamil Bracho (1136 intervenciones) el 06/10/2004 20:47:07
La liberacion de memoria no es inmediata. El GC busca el mejor momento para hacerlo y el hecho de que hagas el collect() no necesariamente indica que se ejecutara de inmediato
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

creo que ya lo tengo

Publicado por wakeup (29 intervenciones) el 07/10/2004 09:17:06
De esa forma me cierra el ultimo excel que he abierto y me deja si tenia otro abierto antes. He hecho pruebas y parece que siempre cierra el ultimo abierto... sabeis si puede fallar en algun caso?

Dim procs() As System.Diagnostics.Process
procs = System.Diagnostics.Process.GetProcessesByName("EXCEL")
If procs.Length > 0 Then
procs(0).Kill()
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

creo que ya lo tengo

Publicado por wakeup (29 intervenciones) el 07/10/2004 09:17:06
De esa forma me cierra el ultimo excel que he abierto y me deja si tenia otro abierto antes. He hecho pruebas y parece que siempre cierra el ultimo abierto... sabeis si puede fallar en algun caso?

Dim procs() As System.Diagnostics.Process
procs = System.Diagnostics.Process.GetProcessesByName("EXCEL")
If procs.Length > 0 Then
procs(0).Kill()
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Accedo a excel desde asp.net pero excel no cier

Publicado por Marta (29 intervenciones) el 06/10/2004 21:07:59
Antes de la declaración de variables pon lo siguiente para matar el proceso (esta en C#)

protected Process[] procs;
procs = Process.GetProcessesByName("EXCEL");
for (int numproc=0;numproc<procs.Length;numproc++)
{
procs[numproc].Kill();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Accedo a excel desde asp.net pero excel no cier

Publicado por wakeup (29 intervenciones) el 07/10/2004 09:07:08
perfecto!! esto me saca del apuro, aunque no entiendo pq dices que lo ponga antes de la declaracion, pq de este modo siempre me deja un proceso excel (el que se abre despues...)
De todos modos esto cierra tambien cualquier instancia de excel que tuviera abierta, quizas utilizandola un usuario del servidor... alguna forma sencilla de controlar que no cierre esa? como preguntar si esta visible? o obtener exactamente el id de proceso del que he abierto yo?
graciassssss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Accedo a excel desde asp.net pero excel no cier

Publicado por wakeup (29 intervenciones) el 07/10/2004 09:07:08
perfecto!! esto me saca del apuro, aunque no entiendo pq dices que lo ponga antes de la declaracion, pq de este modo siempre me deja un proceso excel (el que se abre despues...)
De todos modos esto cierra tambien cualquier instancia de excel que tuviera abierta, quizas utilizandola un usuario del servidor... alguna forma sencilla de controlar que no cierre esa? como preguntar si esta visible? o obtener exactamente el id de proceso del que he abierto yo?
graciassssss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar