在Form中嵌入Excel表格问题...请各位帮帮忙. 是你的Form类中的方法和Excel中的Application方法同名,在你出错的代码处,在Application的前面加上你form类的名称,例如: System.Windows.Forms.Application.Exit();这时候你再using Excel 就没有问题了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是你的Form里的主程序MAIN里的Application与EXCEL中Application冲突。在EXCEL的Application前加上EXCEL.Application就可以了。 在 Visual C# .NET 中新建一个 Windows 应用程序项目。默认情况下会创建 Form1。 在工具菜单上,单击自定义工具箱以打开自定义工具箱对话框。在 COM 组件选项卡上,添加一个对 Microsoft WebBrowser 的引用。单击确定,将 WebBrowser 控件添加到 Windows 窗体工具箱。WebBrowser 控件会显示出来,并且在工具箱中带有 Explorer(资源管理器)字样。 使用该工具箱向 Form1 添加一个 WebBrowser 控件、一个 OpenFileDialog 控件和一个 CommandButton 按钮。这就会向 Form1 类添加 AxWebBrowser1、OpenFileDialog1 和 Button1 成员变量。 在 Form1 上,双击 button1。这就会向 Form1 添加 Button1_Click 事件。 在 Form1 的代码窗口中,向列表添加以下命名空间:using System.Reflection; 如下所示在 Form1 类中定义一个私有成员:private Object oDocument; 在 Form1 类的 InitializeComponent 方法的末尾,添加以下代码以处理 Form1_Load、Form1_Closed 和 axWebBrowser1_NavigateComplete2 事件:this.axWebBrowser1.NavigateComplete2 += new AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(this.axWebBrowser1_NavigateComplete2);this.Load += new System.EventHandler(this.Form1_Load);this.Closed += new System.EventHandler(this.Form1_Closed); 将下面的代码private void button1_Click(object sender, System.EventArgs e){} 替换为: private void button1_Click(object sender, System.EventArgs e){ String strFileName; //Find the Office document. openFileDialog1.FileName = ""; openFileDialog1.ShowDialog(); strFileName = openFileDialog1.FileName; //If the user does not cancel, open the document. if(strFileName.Length != 0) { Object refmissing = System.Reflection.Missing.Value; oDocument = null; axWebBrowser1.Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing); }}public void Form1_Load(object sender, System.EventArgs e){ button1.Text = "Browse"; openFileDialog1.Filter = "Office Documents(*.doc, *.xls, *.ppt)|*.doc;*.xls;*.ppt" ; openFileDialog1.FilterIndex = 1;}public void Form1_Closed(object sender, System.EventArgs e){ oDocument = null;}public void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e){ //Note: You can use the reference to the document object to // automate the document server. Object o = e.pDisp; 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); MessageBox.Show("File opened by: " + oName.ToString() ); } 按 F5 键运行该项目。单击浏览后,会出现打开对话框,您可以使用该对话框浏览到 Word 文档、Excel 工作表或 PowerPoint 演示文稿。选择任一文件,然后单击打开。文档在 WebBrowser 控件内打开,并出现一个显示有 Office 文档服务器名称的消息框。 WCF通讯在3G上网的笔记本中是不能用吗? 这个存储过程的输出值怎么取不到? 关于不刷新页面 统计数据 Analysis Services 项目 *.rdl 报表怎么重外部传SQL语句进去 测试IP是否连通是经常报错 c#中datagrid的doubleclick事件中怎样获得mouse在datagrid中选定的row? 登录界面问题 100分!多层体系的分布式部署 C#中的反射机制??? 串口通信 求助!关于Excel嵌入C#应用程序的问题!! 菜鸟问题
在工具菜单上,单击自定义工具箱以打开自定义工具箱对话框。在 COM 组件选项卡上,添加一个对 Microsoft WebBrowser 的引用。单击确定,将 WebBrowser 控件添加到 Windows 窗体工具箱。WebBrowser 控件会显示出来,并且在工具箱中带有 Explorer(资源管理器)字样。
使用该工具箱向 Form1 添加一个 WebBrowser 控件、一个 OpenFileDialog 控件和一个 CommandButton 按钮。这就会向 Form1 类添加 AxWebBrowser1、OpenFileDialog1 和 Button1 成员变量。
在 Form1 上,双击 button1。这就会向 Form1 添加 Button1_Click 事件。
在 Form1 的代码窗口中,向列表添加以下命名空间:using System.Reflection;
如下所示在 Form1 类中定义一个私有成员:private Object oDocument;
在 Form1 类的 InitializeComponent 方法的末尾,添加以下代码以处理 Form1_Load、Form1_Closed 和 axWebBrowser1_NavigateComplete2 事件:this.axWebBrowser1.NavigateComplete2 += new AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(this.axWebBrowser1_NavigateComplete2);
this.Load += new System.EventHandler(this.Form1_Load);
this.Closed += new System.EventHandler(this.Form1_Closed);
将下面的代码private void button1_Click(object sender, System.EventArgs e)
{
}
替换为: private void button1_Click(object sender, System.EventArgs e)
{ String strFileName; //Find the Office document.
openFileDialog1.FileName = "";
openFileDialog1.ShowDialog();
strFileName = openFileDialog1.FileName;
//If the user does not cancel, open the document.
if(strFileName.Length != 0)
{
Object refmissing = System.Reflection.Missing.Value;
oDocument = null;
axWebBrowser1.Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing);
}
}public void Form1_Load(object sender, System.EventArgs e)
{
button1.Text = "Browse";
openFileDialog1.Filter = "Office Documents(*.doc, *.xls, *.ppt)|*.doc;*.xls;*.ppt" ;
openFileDialog1.FilterIndex = 1;
}public void Form1_Closed(object sender, System.EventArgs e)
{
oDocument = null;
}public void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e)
{ //Note: You can use the reference to the document object to
// automate the document server. Object o = e.pDisp;
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); MessageBox.Show("File opened by: " + oName.ToString() );
}
按 F5 键运行该项目。单击浏览后,会出现打开对话框,您可以使用该对话框浏览到 Word 文档、Excel 工作表或 PowerPoint 演示文稿。选择任一文件,然后单击打开。文档在 WebBrowser 控件内打开,并出现一个显示有 Office 文档服务器名称的消息框。