Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 725|回复: 0

WinForm 内嵌 Office 文档 解决方案测试(非DSOFRAME 纯C#代码,网上独一份)

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-5-5 09:14:24 | 显示全部楼层 |阅读模式

    以前项目有需求在网页中嵌入Word文档,网上有很多这样的ActiveX控件,但都是商业的,授权要几万。

    其他的解决方案:

    1.利用WebBrowser打开Office文件,但微软在一个补丁中将其默认设为关闭,想要使用得更改注册表,并且很多东西不可控。

    2.利用微软已经不再支持的一个示例 DsoFramer_KB311765_x86.exe,网上绝大多数此类控件是基于此的,但微软已经将其移除网站,

      不再提供更新与支持,而且源代码使用的是C++ 用 WIN32 SDK 写的,没有利用ATL库,本人C++不行,没看懂。

    3. Word文档转成HTML相关页面直接展示。

     

    以上三种除了第2种会C++的能利用外别的对我都不行,伟大的google告诉我微软在.Net Framework 2.0 beta 1 时代曾提供一个控件 ActiveDocumentHost,

    即活动文档宿主,可以打开任何OLE文档类型,无奈的是不知道什么原因微软在正式发布时放弃了此控件,但至今在各个版本的System.Windows.Forms.dll程序集的

    资源里还有System.Windows.Forms.ActiveDocumentHost.bmp这个图标,我知道了,微软很坏,让我看得见用不着。。。。

    经过很久的Google后,终于下载到 dotnetfx_2.0_Beta_1(2.0.40607.42)2004-07-27 这个版本的 Framework,反编译之,提取出ActiveDocumentHost控件重新编译。

    于是就有了现在的WinForm 内嵌 Office 文档解决方案。

    注意:提取完毕后编译无错,基本测试正常运行,但有版权问题,并且需要双击或单击或获得焦点后才能编辑,很痛苦,正在解决。

    之后将会将其写成ActiveX以便在IE中用。

    如果有哪位大大能修改它希望给一份代码,谢谢!

    实现的基本原理就是实现一个活动文档容器。

    代码下载地址:http://files.cnblogs.com/binsys/LabsB.Controls.7z

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-23 02:28 , Processed in 0.056979 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表