在winform程序中 *** 作word

在winform程序中 *** 作word,第1张

在 Visual C# NET 中新建一个 Windows 应用程序项目。默认情况下会创建 Form1。

在工具菜单上,单击自定义工具箱以打开自定义工具箱对话框。在 COM 组件选项卡上,添加一个对 Microsoft WebBrowser 的引用。单击确定,将 WebBrowser 控件添加到 Windows 窗体工具箱。WebBrowser 控件会显示出来,并且在工具箱中带有 Explorer(资源管理器)字样。

使用该工具箱向 Form1 添加一个 WebBrowser 控件、一个 OpenFileDialog 控件和一个 CommandButton 按钮。这就会向 Form1 类添加 AxWebBrowser1、OpenFileDialog1 和 Button1 成员变量。

在 Form1 上,双击 button1。这就会向 Form1 添加 Button1_Click 事件。

在 Form1 的代码窗口中,向列表添加以下命名空间:using SystemReflection;

如下所示在 Form1 类中定义一个私有成员:private Object oDocument;

在 Form1 类的 InitializeComponent 方法的末尾,添加以下代码以处理 Form1_Load、Form1_Closed 和 axWebBrowser1_NavigateComplete2 事件:thisaxWebBrowser1NavigateComplete2 += new AxSHDocVwDWebBrowserEvents2_NavigateComplete2EventHandler(thisaxWebBrowser1_NavigateComplete2);

thisLoad += new SystemEventHandler(thisForm1_Load);

thisClosed += new SystemEventHandler(thisForm1_Closed);

将下面的代码private void button1_Click(object sender, SystemEventArgs e)

{

}

替换为: private void button1_Click(object sender, SystemEventArgs e)

{

String strFileName;

//Find the Office document

openFileDialog1FileName = "";

openFileDialog1ShowDialog();

strFileName = openFileDialog1FileName;

//If the user does not cancel, open the document

if(strFileNameLength != 0)

{

Object refmissing = SystemReflectionMissingValue;

oDocument = null;

axWebBrowser1Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing);

}

}

public void Form1_Load(object sender, SystemEventArgs e)

{

button1Text = "Browse";

openFileDialog1Filter = "Office Documents(doc, xls, ppt)|doc;xls;ppt" ;

openFileDialog1FilterIndex = 1;

}

public void Form1_Closed(object sender, SystemEventArgs e)

{

oDocument = null;

}

public void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVwDWebBrowserEvents2_NavigateComplete2Event e)

{

//Note: You can use the reference to the document object to

// automate the document server

Object o = epDisp;

oDocument = oGetType()InvokeMember("Document",BindingFlagsGetProperty,null,o,null);

Object oApplication = oGetType()InvokeMember("Application",BindingFlagsGetProperty,null,oDocument,null);

Object oName = oGetType()InvokeMember("Name",BindingFlagsGetProperty ,null,oApplication,null);

MessageBoxShow("File opened by: " + oNameToString() );

}

按 F5 键运行该项目。单击浏览后,会出现打开对话框,您可以使用该对话框浏览到 Word 文档、Excel 工作表或 PowerPoint 演示文稿。选择任一文件,然后单击打开。文档在 WebBrowser 控件内打开,并出现一个显示有 Office 文档服务器名称的消息框。

我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作

以隐藏方式启动这个外部程序就行了,比如

ProcessStartInfo psi = new ProcessStartInfo();

psiFileName = "NOTEPADEXE";

psiWindowStyle = ProcessWindowStyleHidden;

ProcessStart(psi);

一个是b/s架构模式开发,即网页开发;一个是c/s架构模式开发,即窗体应用程序开发。两种开发可以采用相同的编程语言,例如C#、vB。网上一些软件既有窗体版也有网络版,便可以采用以上两种模式开发。

一、C/S模式与B/S模式的比较分析

C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。

B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。

第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。

第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。

第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。

1 B/S模式的优势

首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过>

建一个public static class静态类 包含一个静态属性public static DataTable

在程序的第一个窗体Load()中,或者其他你认为合适的方法中,查询数据并为这个类的DT赋值

那么在后续业务中,可以直接通过

StaticClassNameStaticDT获得这个表结果

使用这种方法来做数据滞留,参照以下条件:

属于配置项,改动少,使用频繁

在使用中,必要的时候可以为静态类重新赋值,以保持滞留的数据与库数据一致

以上就是关于在winform程序中 *** 作word全部的内容,包括:在winform程序中 *** 作word、有关C#winform的调用外部程序的问题、asp.net和winform程序上的区别有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10132586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存