killing Excel instance through ASP.NET

  • Thread starter kunal.kewalramani
  • 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...
 
M

Mark Rae

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.
 
K

kunal.kewalramani

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...
 
S

Steve C. Orr [MVP, MCSD]

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top