已经在网上找到资料可以通过WebBrowser控件来实现Excel的嵌入。但是实际使用中遇到如下问题,请高手赐教:
1、我先运行一个excel,然后再用程序Navigate一个一个excel文件后发现进程中并没有2个excel进程。这个和文档所说的WebBrowser 装载 excel文件总是在新的进程空间中的说法不一致。这会导致如果我原先开启的excel中有我需要编辑的内容,但是我一执行navigage到另外一个文件后,就无法切换回原来的excel。他似乎是把第一个excel进程已用进来,而我不想这样。
2、对象退出时excel进程跟着关闭,总是调试不通,请高手指正代码:
public void ExcelExit()
        {
            Excel.Workbooks oBooks;
            Excel.Workbook oBook;
            //Excel.Worksheets oSheets;
            Excel.Worksheet oSheet;            try
            {
                Controls.Remove(axWebBrowser1);
                oBooks = CurrentExcel.Workbooks;
                oBook = oBooks[1];
                //oSheets = (Excel.Worksheets)CurrentExcel.Worksheets;
                oSheet = (Excel.Worksheet)oBook.Worksheets[1];                NAR(oSheet);
                oBook.Close(false, Missing.Value, Missing.Value);
                NAR(oBook);
                NAR(oBooks);
                CurrentExcel.Quit();
                NAR(CurrentExcel);
                axWebBrowser1.Dispose();
                GC.Collect();
                //System.Threading.Thread.Sleep(5000);
            }
            catch (Exception)
            { }
        }
        private void NAR(Object o)
        {
            try { System.Runtime.InteropServices.Marshal.ReleaseComObject(o); }
            catch { }
            finally { o = null; }
        }
CurrentExcel是在naviagecomplete2事件中捕获的excel应用