C#最简单的导出提交Word中的数据

三世轮回 提交于 2019-12-02 03:29:53
  普通的 MS Office Word 只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果。但是通过调用 PageOffice 开发平台,不仅可以在线打开并保存 Word 文件还可以提交 Word 中的数据。

下面我就简单的和大家分享一下如何实现Word文档的在线打开、编辑、保存和数据的提交。

第一步:请先安装PageOffice的服务器端的安装程序,之后在你的网站中根目录下添加pageoffice文件夹(在PageOffice官方网站的“下载中心”中可下载相应的压缩包,解压之后直接将PageOffice实例代码里的pageoffice文件夹拷贝到根目录下就可以了)。

第二步:在网站中创建动态页面Word.aspx。在工具箱中拖动一个PageOfficeCtrl控件到页面上(PageOfficeCtrl控件位于工具箱最下方),并设置控件所在层(<div></div>)的高和宽。

第三步:在要打开的Word文件中的相应位置手动插入书签(“PO_userName”、“PO_deptName”)。注意:书签名字不要重复、相邻书签之间至少要有一个字符,不然后一个书签会把前一个书签覆盖掉;书签的名字需以“PO_”为前缀。

第四步:Word.aspx.cs页面编写代码,打开Word文档。部分代码如下:

//设置服务器页面

PageOfficeCtrl1.ServerPage = "pageoffice/server.aspx";

//添加自定义按钮

PageOfficeCtrl1.AddCustomToolButton("保存", "Save()", 1);

    PageOffice.WordWriter.WordDocument wordDoc = new PageOffice.WordWriter.WordDocument();

//打开数据区域,OpenDataRegion方法的参数代表Word文档中的书签名称

PageOffice.WordWriter.DataRegion dataRegion1 = wordDoc.OpenDataRegion("PO_userName");

//设置DataRegion的可编辑性

dataRegion1.Editing = true;

//DataRegion赋值,此处的值可在页面中打开Word文档后在自己进行修改

dataRegion1.Value = "";

//设置字体颜色

dataRegion1.Font.Color = Color.Red;

PageOffice.WordWriter.DataRegion dataRegion2 = wordDoc.OpenDataRegion("PO_deptName");

dataRegion2.Editing = true;

dataRegion2.Value = "";

dataRegion2.Font.Color = Color.Red;

PageOfficeCtrl1.SetWriter(wordDoc);

//设置保存页面

PageOfficeCtrl1.SaveDataPage = "SaveData.aspx";

PageOfficeCtrl1.WebOpen("doc/test.doc", PageOffice.OpenModeType.docSubmitForm, "文档操作人姓名");

说明:若想提交数据需将属性OpenModeType的类型设置为docSubmitForm提交类型

Word.aspx页面添加JS函数Save(),如下:

function SaveFile() {

    document.getElementById("PageOfficeCtrl1").WebSave();

 }

如上所述,简单的就实现了Word文档的在线打开并提交操作。接下来开始编写保存页面。

第四步:添加保存页面。在网站中添加动态页面SaveData.aspx,在后台页面中编写代码处理Word文档提交的数据,部分代码如下:

PageOffice.WordReader.WordDocument doc = new PageOffice.WordReader.WordDocument();

//获取提交的数值

PageOffice.WordReader.DataRegion dataUserName = doc.OpenDataRegion("PO_userName");

PageOffice.WordReader.DataRegion dataDeptName = doc.OpenDataRegion("PO_deptName");

doc.Close();

至此,就简单的实现了Word文档的导出提交数据了。

方案总结:

上述的示例主要是借助了PageOffice开发平台的PageOfficeCtrl控件,利用该控件还可实现Excel文档内容的提交、添加手写批注、加盖电子印章、Word文档到PDF文档的转换等功能。另外,在PageOffice平台下还可实现ExcelPPTPDF等文档的在线打开、编辑保存等等各种操作,很好地解决了开发OA系统的程序员的一大技术难题。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!