精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
dsoframer是微软提供一款开源的用于在线编辑、调用Word、 Excel 、PowerPoint等的ActiveX控件。国内很多著名的OA中间件,电子印章,签名留痕等大多数是依此改进而来的。使用感觉上有时候加载成功,但是刷新不及时,有时候菜单Ribbion显示不出来。如果没这个工具,在Form里嵌入Office是很难实现的,有个国外公司出的控件是收费的,实现的是同样的功能。锐英源把这个控件用在了教学系统开发上,有实战经验,有兴趣可以联系锐英源。
开发环境:
VS2008
DOSFRAMER版本为1.3
MS OFFICE2003+SP3
最近一直想用VC#2008做个内嵌WORD/OFFICE的WINFORM,目前主要有以下解决途径:
1、直接通过API把WORD/OFFICE的窗口句柄给放到WINFORM中(较为复杂);
2、通过WEB BROWSER;
3、利用DSOFRAMER。
本人都测试了一下,觉得DSOFRAMER更符合自己的愿望,故决定使用DSOFRAMER来实现。
操作步骤:
1、从微软网站下载DsoFramer_KB311765_x86.exe,解开将得到dsoframer.ocx;
2、把dsoframer.ocx拷贝到系统目录下,并注册,我是写了一个reg.bat来实现:
copy dsoframer.ocx c:\windows\system32\dsoframer.ocx
regsvr32.exe c:\windows\system32\dsoframer.ocx
3、启动VS2008,新创建一个WINFORM的C#程序;
4、在设计工具栏中,新添加选项,在弹出的页面中选择“TAB”页,在com组件下 然后浏览,选择c:\windows\system32\dsoframer.ocx进行添加,此时设计工具栏中将看到这个工具,名字为“DSO FRAMER CONTROL OBJECT”;
5、拖动此工具到某设计FORM窗口中,此时将在代码文件中添加了以下行:
private AxDSOFramer.AxFramerControl axFramerControl1;
6、打开文件,this.axFramerControl1.Open(_filePath);//注:_filePath为.doc或者.xls为后缀的文件;
7、此时就可以直接在打开的WORD/EXCEL上进行编辑保存等等操作了。
注:在操作过程中,发现按打印预览按钮后关闭,会引起WORD/EXCEL报错,找了好久,后来直接安装OFFICE2003 SP3,哈哈,fix the bug,不会报错了。
//获取当前的Excel对象
Microsoft.Office.Interop.Excel.Workbookwk = (Microsoft.Office.Interop.Excel.Workbook)axFramerControl1.ActiveDocument;
下载: DsoFramer_KB311765_x86.exe
Aspose.cells 操作Excel
NOPI 操作Excel