C#WPF关闭Webbrowser托管Excel

时间:2018-03-31 16:22:28

标签: c# excel wpf

我正在使用Webbrowser在C#WPF应用程序中打开Excel文件。

当我尝试关闭Excel时,我收到错误" Excel在尝试计算一个或多个公式时耗尽了资源。结果,无法评估这些公式。我使用以下代码关闭Excel,任何想法出了什么问题?

Microsoft.Office.Interop.Excel.Application excelApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application") as Microsoft.Office.Interop.Excel.Application;
if (excelWebBrowser != null)
{
    Microsoft.Office.Interop.Excel.Workbook xlWorkBook = excelWebBrowser.webBrowser.Document as Microsoft.Office.Interop.Excel.Workbook;
    webBrowser.Navigate("about:blank");
    xlWorkBook.Close(false, Missing.Value, Missing.Value);
    Marshal.ReleaseComObject(xlWorkBook);
    xlWorkBook = null;

        excelApp.Quit();
        Marshal.ReleaseComObject(excelApp);
        excelApp = null;

    GC.Collect();
    GC.WaitForPendingFinalizers();
    GC.Collect();
    GC.WaitForPendingFinalizers();
}

我还使用webBrowser.Dispose()尝试了一些变体,但是得到了同样的错误。

谢谢!

0 个答案:

没有答案