Winfom打开Office文件

DsoFramer

  • 配置

      1.从网上下载安装程序DsoFramer_KB311765_x86.exe,建议使用x86版本,64未版本可能会有兼容性问题。按照提示安装程序。

  •   2.把dsoframer.ocx拷贝到系统目录下(c:\windows\system32),并注册。
    打开CMD,执行regsvr32.exe c:\windows\system32\dsoframer.ocx
  •   3.在工具箱中右键——>选择项——>COM组件下找到DSO Framer Control Object——>勾选——>确定。

  •   4.在工具箱中右键——>选择项——>COM组件下找到DSO Framer Control Object——>勾选——>确定。

  •   PS:这只是一种配置的方式,貌似还可以在后台动态注册,添加。

-------分割线-------

  • 使用

      1.在工具箱中找到DSO Framer Control Object,拖动到窗口中就可以使用了。

  •   2.图中的ActiveX Document Object部分就是我们需要的打开office文档控件。由于我的项目中要求只有Excel和Word用此控件打开,其余格式的文件都是直接读取文件内容所以用了一个MemoEdit来显示。当文件格式为Excel或Word时就用BringToFront()把DsoFramer控件显示在最前面,把MemoEdit用SendToBack()放到后边,然后设置DsoFramer控件的Dock属性为Fill就可以了。 
      图中右侧部分的属性——>杂项中可以设置标题栏,菜单栏和工具栏的显示/隐藏。 
        Titlebar:标题栏 
        Menubar:菜单栏 
        Toolbar:工具栏

  •   3.后台使用的方式如下,可以读取本地文件也可以读取服务器文件。其中打开本地文件的时候如果对文件内容做出任何改动,当关闭窗口后都会自动保存到原文件,虽然Open()方法中虽然有ReadOnly参数的设置,但是截至到此文编写时为止都是不生效的,也许Web上可以,但实测Winfom不行。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    if (ext == "xlsx" || ext == "docx")

    {

        MemoEdit1.SendToBack();

        axFramerControl1.BringToFront();

        axFramerControl1.Dock = DockStyle.Fill;

        axFramerControl1.Open(filePath);

    }

    else

    {

        MemoEdit1.BringToFront();

        axFramerControl1.SendToBack();

        MemoEdit1.Dock = DockStyle.Fill;

        MemoEdit1.Text = File.ReadAllText(filePath);

    }

时间: 2024-08-24 15:42:20

Winfom打开Office文件的相关文章

C#打开office文件,pdf文件和视频文件

打开office文件 1 需要从网站下载dsoframer.ocx文件 2 把dsoframer.ocx文件复制到c:\windows\system32目录下 开始->运行->regsvr32 dsoframer.ocx , 系统会提示DSOFramer.ocx中的DllRegisterServer成功 3 在VS中新建项目,添加引用 4 将该控件加载到工具箱(添加新选项) 5 将控件拖到窗体中 打开文件:this.axFramerControl1.Open(filepath); (备注:也有

基于Visual C++2010与office2010开发办公自动应用(1)在自己的程序里面打开office文档

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版.该软件共有6个版本,分别是初级版.家庭及学生版.家庭及商业版.标准版.专业版和专业高级版,此外还推出Office 2010免费版本,其中仅包括Word和Excel应用.除了完整版以外,微软还将发布针对Office 2007的升级版O

Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析

Office文件的奥秘——.NET平台下不借助Office实现Word.Powerpoint等文件的解析 分类: 技术 2013-07-26 15:38 852人阅读 评论(0) 收藏 举报 OfficePowerPointWord格式解析 转载http://www.cnblogs.com/mayswind/archive/2013/03/17/2962205.html [题外话] 这是2010年参加比赛时候做的研究,当时为了实现对Word.Excel.PowerPoint文件文字内容的抽取研究

office文件在线预览,模仿网易邮箱在线预览的

最近研究了半天,代码是倾情奉送啊,C#,asp.net的 这个原理是office文件转换为PDF文件,然后再转换成SWF文件,FlexPaper+swfTools. 有个问题,需要在web.config中加这么一行<identity impersonate="true" userName="administrator" password="你的服务器登录密码" /> /// <summary> /// 转换压缩文件,以便于

C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式

前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要操作的Excel文件,并在后面的textBox中显示出文件路径. 设置单元格按钮,可以根据程序设置Excel文件的内容. 退出程序按钮,关闭窗体. 程序源代码 1 using System; 2 using System.Collections.Generic; 3 using System.Com

Qt获取office文件内容

Qt获取office文件内容 需要获取word文件的文件内容.网上找了好久,大部分都是excel的.而word的很少.所以在这里记录一下,方便大家查阅和自己使用. 使用的Qt版本是5.4.2 . 下面通过代码说明: 首先在.pro文件中加入 QT       += axcontainer 需要加入以下头文件 #include <QAxWidget> #include <QAxObject> 详细代码如下 void Qt_word(QString filePath) { //指定要打

用MFC实现打开word文件

在用MFC打开word文件时,需要导入.olb文件. 通过VC++6.0 工具栏上的View / ClassWizard->Add Class选择From a Type Library-定位需要的库文件导入. 本例使用的路径为: C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB. 如图(1).图(2)所示: 图(1)导入msword.olb文件 图(2)按"Ctlr+鼠标左键"导入相应的类,比如_Application.D

怎么解决每次打开Office 2013都提示配置进度

每次打开Office 2013都提示配置进度(包括Word.PPT.Excel等等Office产品都有这种现象),如图,先是显示"安装程序正在准备必要的文件",接着显示"正在配置Microsoft Office Professional Plus 2013"的情况.如果重启完了再打开,还是提示配置进度,怎么解决处理这种问题呢?这里分享两种方法 修改注册表的方法解决Office启动配置问题 1 保证你的Office 2013已经激活 2 打开注册表,在开始菜单下的搜索

xlsx文件怎么打开 Excel如何打开xlsx文件

office是所有IT人员通用的办公软件,特别是行政行业,要做各种报表,所以office当中的Excel表格是使用最多的,经常用Excel的人就知道,Excel2003以下的版本保存的默认格式后缀名通常都是以"xls"的结束的,现在随着office版本的提高,Excel2007以上的版本保存的格式后缀名就是以"xlsx"结束了,因为xlsx占用空间更小.但是有些小伙伴喜欢用低版本,而有的朋友喜欢用高版,这就导致了用Excel2003不能打开2007版本以上生成的xl