乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > C# <em>WinForm</em>窗体中,嵌入类似于Excel表格-winform exce

C# <em>WinForm</em>窗体中,嵌入类似于Excel表格-winform exce

作者:乔山办公网日期:

返回目录:excel表格制作


这个可以吗 ?
我有看到过类似的控件有这个功能, 不过是收费的,好像叫flex cell,具体记不太清楚,大概是这个样子.
真希望EXCEL能嵌入到WINFORM中,哈哈.

你这个问题我也遇到 了,纠结了好久,office2003用WEBBROWSER 这个方法可以,可2007不行,不过我最后找到办法解决了,理解寻找解决办法人的心情,所以这里贡献出来给大家。

DsoFramer_KB311765_x86.exe

用这个控件,可以上网去下载,百度或到微软官网下载。如果下不到也可以找我发。


这个控件可以在WINFORM里面直接把EXCEL引用上来显示在控件里面,就像在操作EXCEL一模一样。

可以在Excel里面先设置好,把标题隐藏,状态栏,编辑栏,滚动条等这些隐藏,这样看起来也看不出是在Excel操作。也可以在Excel里设置好数据有效性,这样就只能选择,可以设置只允许用户选择指定单元格,其他单元格不能选择。包括颜色,工作表保护,禁止随便修改。也可以在Excel里面设置好宏,这里操作也会执行。


用dataGridView控件。基本上显示效果可以和EXCEL相同。即使想做汇总,合并之类的都可以。

由于目前,C#和VB.net都不支持OLE技术(参见微软支持中心Info:304562),,所以只有使用WebBrowser控件来完成此功能。(以下方法参见微软支持中心Howto:304662)
  1、右击工具箱,选择自定义工具箱,添加7a64e4b893e5b19e334COM组件,选择“Microsoft Web 浏览器”(对应文件是\winnt\system32\shdocvw.dll),确定。在工具箱中将会出现文本为Explorer的WebBroser控件图标。
  2、在Form1中添加WebBrowser控件。(对象名却省是axWebBrowser1)
  3、假定要打开的excel文件是: c:\a.xls。
string strFileName = @"c:\a.xls";
Object refmissing = System.Reflection.Missing.Value;
axWebBrowser1.Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing);
值得注意的是用WebBrowser控件不支持菜单合并,也就是说无法把Excel表的菜单带入到我们的程序中。这是相对于OLE实现方法的一大缺点。幸好提供了可以把工具栏添加进来的功能,通过工具栏可以进行许多Excel专有的操作。
//下面这句可以将excel本身的工具调添加进来
axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_HIDETOOLBARS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER,ref refmissing , ref refmissing);

相关阅读

关键词不能为空
极力推荐
  • <em>Excel</em>如何设置公式进行<em>区间计算</em>-

  • Excel区间计算如何设置计算公式?" src="/uploads/tu/321.jpg" style="width: 400px; height: 267px;" />据题来之意,可以使用IF函数来处理。假设要求的数据源在B列,则F列的F2单元知格里面输入公式道=

ppt怎么做_excel表格制作_office365_word文档_365办公网