如何在C#中打开一个excel文件,并在程序界面上显示出来?
本人是初学者,第一次发帖,还请达人不要见笑。
我要在C#中实现打开一个excel文件,并在程序的界面上显示出来,之前搜过一些方法,用dataset绑定,用datagrid显示,结果不能显示第一行,不能显示合并单元格的内容,不能显示文字(只能显示数字),效果不是很理想。
希望高手帮帮忙,我是初学,还请讲解的细致一点,小弟在此谢谢了!
问题点数:100、回复次数:4Top
1 楼usepc(usepc)回复于 2005-03-03 01:32:23 得分 80
将Excel用户界面嵌入到自己的Windows Form中
由于目前,C#和vb.net都不支持OLE技术(参见微软支持中心Info:304562),,所以只有使用WebBrowser控件来完成此功能。(以下方法参见微软支持中心Howto:304662)
1、右击工具箱,选择自定义工具箱,添加COM组件,选择"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);
Top
2 楼jackiez0724(无敌疯火轮)回复于 2005-03-03 08:47:23 得分 0
谢谢楼上的回复,我回家试试看。
还有,怎么给分啊...Top
3 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2005-03-03 08:52:59 得分 10
如果是Web页面就更方便,本身IE就能显示ExcelTop
4 楼cjjll(潇潇风雨)回复于 2005-03-03 09:07:07 得分 10
USEPC的方法没有问题Top




