具体描述了运用Edraw Office Viewer Component为WPF应用长须嵌入MS Word,Excel以及Power Point的方法。

打开Visual Studio,并创建一个新的WPF应用程序。

右键单击WpfApplication1 Solution。 然后单击Add添加菜单,并点击User Control…

wpf的项目中将会出现一个新窗口。在Solution面板双击UserControl1.CS。

打开Toolbox面板,然后单击Choose Items…。

在弹出的Choose Toolbox Items选择工具箱项目对话框中,选择Edraw Office Viewer Component组件然后单击Ok。

Edraw Office Viewer Component组件就已经被添加到Toolbox工具箱中添加工具箱的General选项卡中。之后将它拖放到UserControl窗口。

这个AxEDofficeLib和EDOfficeLib将通过Visual Studio向导被添加到解决方案中。

键入以下的c#代码,打开一个word文档,并保护该Word文档不被修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WpfApplication1
{
public partial  class  UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public void  Open()
{
axEDOffice1.OpenFileDialog();
}
public void  Protect()
{
if (axEDOffice1.GetCurrentProgID() == "Word.Application")
{
axEDOffice1.ProtectDoc(2);
}
}
public void  Print()
{
axEDOffice1.PrintPreview();
}
public void  Close()
{
axEDOffice1.ExitOfficeApp();
}
}
}

最后,您需要为UserControl编写一个主机窗口。切换到Windows1.xaml文件然后加入开放、保护、打印和关闭按钮,如下图所示:

添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
public partial  class  Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void  Open_Click(object sender, RoutedEventArgs e)
{
_host.Open();
}
private void  Protect_Click(object sender, RoutedEventArgs e)
{
_host.Protect();
}
private void  Print_Click(object sender, RoutedEventArgs e)
{
_host.Print();
}
private void  Close_Click(object sender, RoutedEventArgs e)
{
_host.Close();
}
}
}

打开Configuration Manager配置管理器。改变 Active解决方案平台为x86选项。然后构建并运行。

Office Viewer Component组件支持所有版本MS Word。嵌入MS Excel或PowerPoint,Visio、项目到一个WPF应用程序中,您不必改变任何东西,只能调用Open方法,如下所示:

1
2
3
4
5
6
7
8
9
public void  Open()
{
//axEDOffice1.OpenFileDialog();
axEDOffice1.Open(sPath, "Word.Application");
axEDOffice1.Open(sPath, "Excel.Application");
axEDOffice1.Open(sPath, "PowerPoint.Application");
axEDOffice1.Open(sPath, "Visio.Application");
axEDOffice1.Open(sPath, "MSProject.Application");
}

运用Edraw为WPF应用程序嵌入Office文档的方法总结的更多相关文章

  1. WPF:将Office文档、任意类型文件嵌入到EXE可执行文件中

    原文:WPF:将Office文档.任意类型文件嵌入到EXE可执行文件中 版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei198 ...

  2. WPF应用程序嵌入第三方exe

    把其它应用嵌入到C#窗口 源代码-CSDN下载 https://download.csdn.net/download/aiqinghee/10652732 WPF应用程序嵌入第三方exe - gao2 ...

  3. 使用WebDAV实现Office文档在线编辑

    Office的文档处理能力是非常强大的,但是它是本地资源,在Office Web App尚未成熟前,仍需要使用本地能力来进行文档编辑,可是现代的系统的主流却是B/S,所以在B/S中调用本地的Offic ...

  4. 海量Office文档搜索

    知识管理系统Data Solution研发日记之十 海量Office文档搜索   经过前面两篇文章的介绍,<分享制作精良的知识管理系统 博客备份程序 Site Rebuild>和<分 ...

  5. Office文档在线编辑的实现之二

    讲述了如何通过iis的webdav支持实现客户端的office直接编辑服务器上的文件,本篇将讲解如何实现客户端的office直接编辑数据库中的二进制形式保存的office文件. 实现的关键:模拟IIS ...

  6. 在线office文档编辑NTKO使用心得

    目录 前言 什么是ntko 准备工作 实战演练 总结 一.前言 Web开发中经常需要用到在线处理office文档的功能,现在市面上有一些常用的Web页面调用显示Office的控件技术,用起来很方便.有 ...

  7. 在线预览-Java 使用 Print2Flash 实现Office文档在线阅读

    近期项目上遇到一个需求是用户上传的文档进行在线浏览,之前有过一篇使用 OpenOffice 将 word 转换成 html 页面进行展示的.现在介绍一个新的工具那就是 Print2Flash .    ...

  8. NTKO OFFICE文档控件

    目录 前言 什么是ntko 准备工作 实战演练 总结 一.前言 Web开发中经常需要用到在线处理office文档的功能,现在市面上有一些常用的Web页面调用显示Office的控件技术,用起来很方便. ...

  9. 转:C#实现office文档转换为PDF或xps的一些方法

    代码支持任意office格式 需要安装office 2007 还有一个office2007的插件OfficeSaveAsPDFandXPS 下载地址 [url]http://www.microsoft ...

随机推荐

  1. Cboard 实现看板里面图表仪表盘之间的联动

    首先要了解Cboard的概念, 1.看板 2.图表 看Cborad的菜单知道了,首先先设计图表,可以展现未柱状图或者其它图片形式或者数据表格式.然后看板可以由多个图表组合而成. 需求如下: 看板包含两 ...

  2. ubuntu18.04 安装mongodb 数据库

    工具: 系统:ubuntu18.04  64位 数据库:mongodb GUI:Robo 3T           描述:在win 下面使用Robo 3T  连接Mongodb 数据库 一. 安装mo ...

  3. 清华集训2017D2T1 小 Y 和地铁(metro)

    题目:https://www.luogu.org/problem/show?pid=P4005 题意:一条线段,给定n个点(n<=44)其中每个点可能对应另外一个点.如果一个点有对应点,那么就要 ...

  4. linux 查看当前目录下包含某个字符串的文件

    $ grep -rn '字符串' 很好用~

  5. 洛谷 P3157 [CQOI2011]动态逆序对(树套树)

    题面 luogu 题解 树套树(树状数组套动态开点线段树) 静态使用树状数组求逆序对就不多说了 用线段树代替树状数组,外面套树状数组统计每个点逆序对数量 设 \(t1[i]\)为\(i\)前面有多少个 ...

  6. 最近研究了一个.NET的DHT网络搜索引擎,顺便重新整理了下引擎思路,供大家分享讨论下。

    最近研究了一个.NET的DHT网络搜索引擎,顺便重新整理了下引擎思路,供大家分享讨论下.

  7. POJ 2983 M × N Puzzle

    M × N Puzzle Time Limit: 4000MS   Memory Limit: 131072K Total Submissions: 4860   Accepted: 1321 Des ...

  8. 关于去掉输入一定数字n,在n后写入n个字符串的问题

    在输入数字n后要用一个getchar 去吃掉数字n后面跟着的回车符号,从而保证输入的字符串数是和n是保持一致的 具体实例代码如下: #include<stdio.h> #include&l ...

  9. Bubble Sort Graph CodeForces - 340D || 最长不下降/上升子序列

    Bubble Sort Graph CodeForces - 340D 题意: 给出一个n个数的数列,建一个只有n个结点没有边的无向图,对数列进行冒泡排序,每交换一对位置在(i,j)的数在点i和点j间 ...

  10. 客户端与服务器cookie

    认识cookie 第一部分: 概要 cookie是一种早期使用的客户端存储机制(现在仍在广泛使用),cookie数据会在Web浏览器和Web服务器之间传输, 因为早期cookie是针对服务器脚本设计的 ...