为什么我用C#操作Excel第一次打开的Excel老是释放不了。以后的都可以释放掉.帮忙看一下这段程序有什么问题!
private bool SaveDisposeExcel(Excel.ApplicationClass ExcelTempObject)
{
bool ReturnValue=false;
try
{
ExcelTempObject.ActiveWorkbook.Save();
}
catch(System.Exception ex)
{
ExcelTempObject.ActiveWorkbook.Saved=false;
ReturnValue=false;
_ErrorMessageString=ex.Message;
}
ExcelTempObject.ActiveWorkbook.Saved=true;
ExcelTempObject.ActiveWorkbook.Close(false,null,null);
ExcelTempObject.UserControl=false;
ExcelTempObject.Quit();
ExcelTempObject=null;
System.GC.Collect();
ReturnValue=true;
return ReturnValue;
}

解决方案 »

  1.   

    还有老是在C:\产生一个所打开Excel文件的快捷方式怎么解决呀!
      

  2.   

    试试下面这段代码:          
                      private bool SaveDisposeExcel(Excel.ApplicationClass ExcelTempObject)
    {
    bool ReturnValue=false;
    try
    {
    ExcelTempObject.ActiveWorkbook.Save();
                                         ExcelTempObject.ActiveWorkbook.Saved=true;
     ExcelTempObject.ActiveWorkbook.Close(false,null,null);
              ExcelTempObject.UserControl=false;
    ExcelTempObject.Quit();
    ExcelTempObject=null;
    System.GC.Collect();
    ReturnValue=true; }
    catch(System.Exception ex)
    {
    ExcelTempObject.ActiveWorkbook.Saved=false;
    ReturnValue=false;
    _ErrorMessageString=ex.Message;
    }
                               finally
                               {
                   return ReturnValue;
                               }
    }