killing Excel instance through ASP.NET

  • Thread starter Thread starter kunal.kewalramani
  • Start date Start date
K

kunal.kewalramani

I'm opening an Excel file using ASP.NET, but Excel process remains it is not killed, I tried killing it by using Quit() that is also not working, if anybody have any solution for this please help me out.


**********************************************************************
Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
Comprehensive, categorised, searchable collection of links to ASP & ASP.NET resources...
 
I'm opening an Excel file using ASP.NET, but Excel process remains it is
not killed, I tried killing
it by using Quit() that is also not working, if anybody have any solution
for this please help me out.

1) Are you instantiating Excel server-side in VB.NET / C# etc, or
client-side using JavaScript / VBScript and ActiveX / WSH?

2) What version of Excel?

3) Please post the code you use to instantiate Excel and open the
workbook(s), plus the code you're using to (try to) kill it.
 
I'm using C# to instantiate Excel on server side.
Excel version is 9.0
Below is the code written for Excel.


Excel.ApplicationClass oXL = new Excel.ApplicationClass();
oXL.WindowState=Excel.XlWindowState.xlMaximized;
oXL.ShowWindowsInTaskbar =true;

//oXL.WindowActivate +=Microsoft.Office.Interop.Excel.AppEvents_WindowActivateEventHandler;
//oXL.Windows =Microsoft.Office.Interop.Excel.Windows;
oXL.EnableEvents=true;
oXL.Visible=true;



//oXL.ShowStartupDialog=true;
//oXL.DisplayExcel4Menus = true;
int hwndExcel;
oXL.Visible=true;
oXL.WindowState=Excel.XlWindowState.xlMaximized;
oXL.Caption = "Some Caption For Excel Window";
hwndExcel = MyApi.FindWindow("XLMAIN",oXL.Caption);
string Excelstr1 = hwndExcel.ToString();

System.Diagnostics.Process [] processArr2=System.Diagnostics.Process.GetProcessesByName("Excel");
int process2cnt,processid=100000;
for(process2cnt=0;process2cnt<processArr2.Length;process2cnt++)
{
if(processArr2[process2cnt].MainWindowHandle.ToString()==Excelstr1)
{
processid=processArr2[process2cnt].Id;
//processArr2[process2cnt].Kill();
break;
}
}
// Form1 oform1 =new Form1();
//pid=oform1.GetProcessID(oXL);
//ewclass oewclass =new ewclass();
//pid=oewclass.GetProcessID(oXL);



if(pid!=100000)
//{
Process.GetProcessById(pid).Kill();
}


}

**********************************************************************
Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
Comprehensive, categorised, searchable collection of links to ASP & ASP.NET resources...
 
It's not recommended that you create Excel isntances from a server process
like this. Excel wasn't designed for this. However, I do go over the
techniques involved in this article in case you feel like breaking the
rules. As you'll see, killing the Excel process requires a lot of code.
The article also covers other techniques that are less likely to cause
problems.
http://steveorr.net/Articles/ExcelExport.aspx
 
Back
Top