资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
ASP.NET下Word在线编辑、保存和全文关键字搜索的完整示例(包含源代码)本文演示了如何word在线编辑、保存word文档,并搜索含有关键字的文档。1.项目目的随着技术的发展,人们的需求也随之提高。Office文件的在线处理也越来越受到人们的关注。PageOffice开发平台无疑为Office文件的在线处理打开了方便之门。本文就是通过使用PageOffice开发平台,实现对word在线编辑处理,并搜索、显示含有关键字的文档。2.解决思路我们首先对文档进行word在线编辑,并保存。保存的时候,将文档纯文本内容存入数据库,以备搜索时使用。要获取文档的纯文本,以往的方法都比较复杂,而且效率也不高,但是利用PageOffice的FileSaver对象的DocumentText属性却能轻而易举的实现。我们在保存页面获取该属性的值,然后将此值存入到数据库中,这样就实现了获取文档纯文本并将其保存至数据库中的功能。然后是关键字搜索功能,我们通过数据库中存储Word文档纯文本的字段,利用sql语句将包含关键字的文档搜索出来。实现文档在线编辑的关键是利用PageOffice开发平台,所以我们要确保Visual Studio.NET开发环境安装了PageOffice开发平台。3.关键步骤 (1)先安装PageOffice的服务器端的安装程序,之后在项目的根目录下添加pageoffice文件夹(在www.zhuozhengsoft.com网站的“下载中心”中可下载相应的压缩包,解压之后直接将PageOffice示例代码里的pageoffice文件夹拷贝到项目根目录下就可以了)。(2)保存文档纯文本:我们在文档编辑页面Edit.aspx中从VS工具箱里拖放一个PageOfficeCtrl控件,然后调用方法AppendToolButton(Caption, JsFunction, IconIndex)给PageOfficeCtrl控件的自定义工具栏添加一个“保存”按钮。*后台代码如下:/添加自定义工具栏按钮 PageOfficeCtrl1.AddCustomToolButton(保存, Save(), 1);前台的JS函数如下:function Save() document.getElementById(PageOfficeCtrl1).WebSave();/document.getElementById(PageOfficeCtrl1).CustomSaveResult获取的是保存页面的返回值if(document.getElementById(PageOfficeCtrl1).CustomSaveResult = ok) alert(保存成功);else alert(document.getElementById(PageOfficeCtrl1).CustomSaveResult); *(3)获取DocumentText属性的值:在保存页面里通过FileSaver对象获取,代码如下:*PageOffice.FileSaver fs = new PageOffice.FileSaver();string content = fs.DocumentText;/获取DocumentText属性的值*4.示例程序架构-FileManage.aspx /显示文档列表和搜索关键字的页面-FileManage.aspx.cs-Edit.aspx /实现文档在线编辑的页面-Edit.aspx.cs-SaveFile.aspx /保存文档的页面-SaveFile.aspx.cs5.代码编写首先是FileManage.aspx,此页面主要实现搜索包含关键字的文档和显示文档列表的功能。其中关于搜索,我们可以利用sql查询语句来实现,您可以这样写sql语句:“select * from word where Content like % + key + %”,其中“word”是表名,“Content”是指表中存储文档纯文本的字段名,“key”就是我们输入的关键字。接着是实现文档在线编辑功能的页面:Edit.aspx。从VS工具箱里拖放一个PageOfficeCtrl控件,具体代码如下:*前台Edit.aspx页面代码如下:function Save() document.getElementById(PageOfficeCtrl1).WebSave();/document.getElementById(PageOfficeCtrl1).CustomSaveResult获取的是保存页面的返回值if (document.getElementById(PageOfficeCtrl1).CustomSaveResult = ok) alert(保存成功);else alert(document.getElementById(PageOfficeCtrl1).CustomSaveResult); 然后是Edit.aspx的后台代码Edit.aspx.cs,具体实现代码如下:*protectedvoid Page_Load(object sender, EventArgs e)/设置服务器页面 PageOfficeCtrl1.ServerPage = pageoffice/server.aspx;if (Request.QueryStringid != null & Request.QueryStringid.ToString().Trim().Length 0) string id = Request.QueryStringid.ToString().Trim();string strConn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|demo_search.mdb;string sql = select * from word where id= + id;OleDbConnection conn = newOleDbConnection(strConn);OleDbCommand cmd = newOleDbCommand(sql, conn); conn.Open(); cmd.CommandType = CommandType.Text;OleDbDataReader Reader = cmd.ExecuteReader();if (Reader.Read() string fileName = ;if (ReaderFileName != null & ReaderFileName.ToString().Length 0) fileName = ReaderFileName.ToString().Trim() + .doc; else Page.RegisterClientScriptBlock(, alert(未获得文件名););return; /添加自定义工具栏按钮 PageOfficeCtrl1.AddCustomToolButton(保存, Save(), 1);/设置保存页面 PageOfficeCtrl1.SaveFilePage = SaveFile.aspx?id= + id;/打开Word文档 PageOfficeCtrl1.WebOpen(Server.MapPath(doc/) + fileName, PageOffice.OpenModeType.docNormalEdit, 张佚名); conn.Close(); else Page.RegisterClientScriptBlock(, scrip
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号