博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
运用Edraw为WPF应用程序嵌入Office文档的方法总结
阅读量:6440 次
发布时间:2019-06-23

本文共 4087 字,大约阅读时间需要 13 分钟。

hot3.png

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

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

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

<IMG style="BOX-SIZING: border-box; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt=运用Edraw为WPF应用程序嵌入Word/Excel/PPT的方法总结 src="http://image.evget.com/images/article/20121030021.jpg">

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

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

<IMG style="BOX-SIZING: border-box; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt=运用Edraw为WPF应用程序嵌入Word/Excel/PPT的方法总结 src="http://image.evget.com/images/article/20121030022.jpg">

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

<IMG style="BOX-SIZING: border-box; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt=运用Edraw为WPF应用程序嵌入Word/Excel/PPT的方法总结 src="http://image.evget.com/images/article/20121030023.jpg">

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

<IMG style="BOX-SIZING: border-box; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt=运用Edraw为WPF应用程序嵌入Word/Excel/PPT的方法总结 src="http://image.evget.com/images/article/20121030024.jpg">

这个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文件然后加入开放、保护、打印和关闭按钮,如下图所示:

<IMG style="BOX-SIZING: border-box; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt=运用Edraw为WPF应用程序嵌入Word/Excel/PPT的方法总结 src="http://image.evget.com/images/article/20121030025.jpg">

添加如下代码:

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选项。然后构建并运行。

<IMG style="BOX-SIZING: border-box; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt=运用Edraw为WPF应用程序嵌入Word/Excel/PPT的方法总结 src="http://image.evget.com/images/article/20121030026.jpg">

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"
);
}

转载于:https://my.oschina.net/u/1254945/blog/203179

你可能感兴趣的文章
Hadoop格式化HDFS报错java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
查看>>
android 40 Io编程
查看>>
编译器错误消息: CS0234: 命名空间“Purple”中不存在类型或命名空间名称“Model”(是否缺少程序集引用?)...
查看>>
天津政府应急系统之GIS一张图(arcgis api for flex)讲解(五)地图切换以及图层显示模块...
查看>>
STL之Vector(不定长数组)
查看>>
Python下科学计算包numpy和SciPy的安装【原创】
查看>>
I.MX6 android 设置 默认 动态桌面
查看>>
工作流数据库表设计-ASP.NET
查看>>
了解这23种设计模式
查看>>
linux程序调试命令strace
查看>>
代码中使用StoryBoard和DoubleAnimation的方法
查看>>
数据结构 线性表链式队列
查看>>
无法使用内置管理员账户打开Microsoft Edge
查看>>
EasyUI DataGrid编辑单元格时使用combogrid
查看>>
python oracle使用心得
查看>>
准备着手学习python
查看>>
OOP几大原则【转】
查看>>
ExtJs--09--javascript对象的方法的3种写法 prototype通过原型设置方法效率最好
查看>>
磁盘镜像工具Guymager
查看>>
Effective C++ 45-48
查看>>