最近有个项目需要在WINFORM框架下嵌入EXCEL文件,因为考虑到浏览器支持这个功能那么具体数据迁移就不许要自己做了。所以打算使用OLE空间WEBBROWSER,代码如下:首先需要引用几个COM组件,Internet Explorer组件,事件绑定代码: reportsManagerForm.axWebBrowser1.DocumentComplete += new AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(axWebBrowser1_DocumentComplete);
事件代码:
Object o = e.pDisp;
Object oDocument = o.GetType().InvokeMember("Document", BindingFlags.GetProperty, null, o, null);
Object oApplication = o.GetType().InvokeMember("Application", BindingFlags.GetProperty, null, oDocument, null);
//Object oName = o.GetType().InvokeMember("Name",BindingFlags.GetProperty ,null,oApplication,null);
//由于打开的是excel文件,所以这里的oApplication 其实就是Excel.Application
Microsoft.Office.Interop.Excel.Application eApp = (Microsoft.Office.Interop.Excel.Application)oApplication;//这样就可以象上文中所述来操作Excel了。