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

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

第一步:请先安装PageOffice的服务器端的安装程序,之后在你的网站中根目录下添加pageoffice文件夹(在www.zhuozhengsoft.com网站的“下载中心”中可下载相应的压缩包,解压之后直接将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 = newPageOffice.WordWriter.WordDocument();

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

PageOffice.WordWriter.DataRegiondataRegion1 = wordDoc.OpenDataRegion("PO_userName");

//设置DataRegion的可编辑性

dataRegion1.Editing = true;

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

dataRegion1.Value = "";

//设置字体颜色

dataRegion1.Font.Color = Color.Red;


PageOffice.WordWriter.DataRegiondataRegion2 = 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.DataRegiondataUserName = doc.OpenDataRegion("PO_userName");

PageOffice.WordReader.DataRegiondataDeptName = doc.OpenDataRegion("PO_deptName");

doc.Close();

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

方案总结:

上述的示例主要是借助了PageOffice开发平台的PageOfficeCtrl控件,利用该控件还可实现Excel文档内容的提交、添加手写批注、加盖电子印章、Word文档到PDF文档的转换等功能。另外,在PageOffice平台下还可实现ExcelPPTPDF等文档的在线打开、编辑保存等等各种操作,很好地解决了开发OA系统的程序员的一大技术难题。上述示例的完整代码可以参考卓正网站(http://www.zhuozhengsoft.com/)下载中心的示例代码。