代码之家  ›  专栏  ›  技术社区  ›  C. Ross trotttrotttrott

如何发布Excel流程?

  •  2
  • C. Ross trotttrotttrott  · 技术社区  · 14 年前

    我正在使用ExcelInterop,每次调用它时,它似乎都在创建一个进程。

    new Microsoft.Office.Interop.Excel.Application()
    

    即使我打电话也不会结束这个过程

    xlApp.Quit();
    

    如何结束流程?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Grant Crofton    14 年前

        public void Dispose()
        {
            if(!this.disposed)
            {
                if(cell != null)
                    Marshal.FinalReleaseComObject(cell);
    
                if(cells != null)
                    Marshal.FinalReleaseComObject(cells);
    
                if(worksheet != null)
                    Marshal.FinalReleaseComObject(worksheet);
    
                if(worksheets != null)
                    Marshal.FinalReleaseComObject(worksheets);
    
                if (workbook != null)
                {
                    workbook.Close(false, Type.Missing, Type.Missing);
                    Marshal.FinalReleaseComObject(workbook);
                }
    
                Marshal.FinalReleaseComObject(workbooks);
                xlApp.Quit();
                Marshal.FinalReleaseComObject(xlApp);
    
                GC.Collect();
                GC.WaitForPendingFinalizers();
    
                disposed = true;
            }
        }
    

        3
  •  0
  •   user180100    14 年前

    ObjWorkBook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlDoNotSaveChanges, 
        Type.Missing, Type.Missing);