C# winform中以excel的方式编辑表格
发布网友
发布时间:2022-04-19 19:30
我来回答
共5个回答
热心网友
时间:2022-07-15 02:41
由于目前,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);
热心网友
时间:2022-07-15 02:41
可以试试使用WebBrowser控件加载一个Execl文件的方法
热心网友
时间:2022-07-15 02:42
我给你分析分析 如果你的界面只有一个excel文件 那很好办的 直接用 webbrowser 它有个方法 叫什么axWebBrowser1_NavigateComplete2 (。。。。。。)这里面的参数可以针对excel里面的单元格用代码去修改 如果 你想直接在excel界面里面搞的话 那就更加容易了呀!
Object refmissing = System.Reflection.Missing.Value;
axWebBrowser1.ExecWB (SHDocVw.OLECMDID.OLECMDID_HIDETOOLBARS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, ref refmissing, ref refmissing);
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);
ExcelApp = (Excel.Application)oApplication;
//这样就可以象上文中所述来操作Excel了。
Excel.Worksheet ws = (Excel.Worksheet)ExcelApp.Workbooks[1].Worksheets[1];
string str = ws.get_Range("D4", "D4").Value2.ToString();
这样就把 D4列的值弄出来了 如果你需要同一类很多值 那么就用for循环 查数据就可以了
给你几个地址 自己看吧 懒得写代码了
http://www.cnblogs.com/peterzb/archive/2009/07/21/1527415.html
http://www.cnblogs.com/emanlee/archive/2007/05/31/766520.html
http://www.cnblogs.com/jinglelin/archive/2007/07/31/837722.html
热心网友
时间:2022-07-15 02:42
用DataGridView这个控件试试。
热心网友
时间:2022-07-15 02:43
加载ExcelSheet至控件中。