读书人

Exce 嵌入 Winform的几个有关问题切

发布时间: 2011-12-23 23:32:01 作者: rapoo

Exce 嵌入 Winform的几个问题,急切!盼入!
已经在网上找到资料可以通过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应用


[解决办法]
xuexi
[解决办法]
正还没有这么做过,一般是直接打开的
[解决办法]
mark
[解决办法]
mark
[解决办法]
学习!!!!!!!!!!!
[解决办法]
这个还是先mark一下。楼主解决问题后一定要公布哦~
[解决办法]
为什么要用WebBrowser打开Excel文件呢?直接打开Excel,用Excel事件进行程序控制。

读书人网 >C#

热点推荐