




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
空军雷达学院 NTKO Office控件学习文档 文档整理毒药 第 12 / 12 页目录1.功能介绍32.开发的总体流程33.编程的一般过程54.导出word文档编程介绍75.其它说明:111. 功能介绍使用NTKO Office文档控件,能够在浏览器窗口中直接编辑Word,Excel等Office文档并保存到Web服务器。实现文档和电子表格的统一管理。它能够将编辑过的Office文档直接保存到Web服务器;支持在线编辑包括Microsoft Word,Excel以及PowerPoint在内的所有Office文档类型;支持各种后台Web服务器和编程语言。并且可以在浏览器中通过JScript或者VBScript使用控件提供的属性和方法控制文档操作。2. 开发的总体流程 浏览器通过页面装载控件,并且在页面的body的onload代码中,通过标记的id,得到控件对象。并调用控件对象.BeginOpenFromURL(URL)或者控件对象.OpenFromURL(URL)方法打开文档。这个URL可以是服务器上的一个实际存在的文件,比如,uploadOfficeFile/ mydoc.doc,也可以从其它页面或服务中传一个id参数,比如, /editoffice.jsp?id=4。我们以BeginOpenFromURL(/editoffice.jsp?id=4)为例。(或者,如果是新建文档,本步骤也可以直接调用控件对象.CreateNew(Word.Document)创建新文档。如果是这样,则直接跳转到第步) 此时,NTKO OFFICE文档控件执行BeginOpenFromURL方法,此方法将向WEB服务器发送一个GET请求,请求服务器URL:/editoffice.jsp?id=4。 WEB服务器收到控件的请求之后,执行editoffice.jsp,在此脚本中,获得id的值,根据需要连接数据库服务器读取文件,或者直接从本机磁盘读取文件。 如果WEB服务器从数据库请求数据,数据库返回数据给WEB服务器脚本。 WEB服务器将第步或者第步得到的文件流数据,以二进制流方式返回给控件。控件接收到数据之后将显示文档。如果中间的任何步骤出错,根据不同的情况,控件将显示“网络传输错误”或者“文件存取错误”。 用户编辑文档之后,点击网页上的按钮保存,网页按钮通过JavaScript或者VBScript代码,调用控件对象.SaveToURL方法。比如,我们假设调用的方法是控件对象.SaveToURL(uploadedit.jsp,EDITFILE,mydoc.doc,0); 控件执行SaveToURL方法。将SaveToURL方法的第5个参数指定的FORM中的数据提取,并和文档控件中的数据一起,向WEB服务器发送一个post请求到SaveToURL方法的第5个参数指定的URL,也就是uploadedit.jsp。 WEB服务器接收到请求并调用uploadedit.jsp处理请求。从uploadedit.jsp看来,相当于用户提交了一个FORM,只是FORM中多了一个文件域,并且用户选中了一个文件mydoc.doc。EDITFILE和mydoc.doc都是客户端JavaScript通过参数调用传递给SaveToURL方法的,都可以自己定义。WEB服务器执行uploadedit.jsp,读取控件提交的数据和文件,可以将数据保存到数据库服务器,或者保存到服务器本机磁盘。如果执行成功或者失败,WEB服务器应该向控件返回一个字符串来标识执行的状态。如果WEB服务器执行uploadedit.jsp的时候遇到了错误,则返回给控件的HTTP状态码不是200 Ok的时候,控件将显示“网络传输错误”。3. 编程的一般过程在网页中使用NTKO OFFICE文档控件的一般编程过程如下:1)在网页的HTML的Head的Script部分,定义全局变量ntkoobj。这个变量将用于保存NTKO OFFICE文档控件对象变量。并定义方法function initDoc(docURL)如下所示: .var ntkoobj = null;./初始化文档的function。docURL是文档在服务器上的相对当前网页的URL,或者绝对URLfunction initDoc(docURL) 代码具体描述如后2)在网页中合适的地方,使用引入用于创建NTKO OFFICE文档控件的js文件。比如: .3)在网页的同名目录,创建一个js文件,命名为ntkoGenObj.js 其内容如下: document.write( );document.write( );document.write( );document.write( );document.write( );document.write(不能装载NTKO OFFICE文档控件。请在检查浏览器的选项中检查浏览器的安全设置。 );document.write( );4)在HTML网页的的onload的代码中,调用初始化文档的代码。 initDoc(docURL).其中docURL是需要打开的文档的URL.docURL可以是一个后台的ASP,JSP等变量。比如。比如: body onload=initDoc(;)5)在function initDoc(docURL)的实现中,加入如下代码: function initDoc(docURL) /得到控件对象变量ntkoobj = document.all(TANGER_OCX); /TANGER_OCX是网页中的NTKO OFFICE文档控件的IDif(null = ntkoobj) alert(NTKO OFFICE文档控件未能正确装载。请在本页面装载时窗口上方出现的提示条上点击安装ActiveX控件,并在随后出现的安装ActiveX的对话框中选择是。);return;/如果没有传入docURL,则创建一个Word文档对象。if( (null = docURL) | (0 = docURL.length) ) ntkoobj .CreateNew(Word.Document);else /否则,调用NTKO OFFICE文档控件的BeginOpenFromURL方法打开服务器上的文档 ntkoobj.BeginOpenFromURL(docURL);6)接管控件的OnDocumentOpened事件,继续执行其它操作。如下所示: /此时文档已经打开,可以执行其它的操作。7)在网页中合适的位置插入按钮或者其它HTML元素,点击时调用控件的SaveToURL方法将用户对NTKO OFFICE文档控件中文档的修改保存到web服务器: var retStr = ntkoobj.SaveToURL(.);/此时,retStr就是服务器返回的数据,您可以用任何方式显示。4. 导出word文档编程介绍导出word文档主要原理是通过word标签来定位值的存放,数据可从页面传或后台取出,在导出word之前,要自定义文档模板要先定义书签,具体定义书签如下图:核心代码说明:/准备数据 % String path = request.getContextPath(); String basePath = request.getScheme() + :/ + request.getServerName() + : + request.getServerPort() + path + /; String wordpath = basePath + uploadOfficeFile/固定资产购买申请表.doc; String caseid =固定资产购买申请表; String orgname = 华南资讯; String applyUser = 桂方军; String email = ak_; String phone = 020-123456; String mobile = String applyDate = 2009-9-18; String priority = 优先; String urgent = 一级; String expectDate = 2010-9-14; String deviceName = 服务器; String deviceModel = sn-2897; String deviceNumber = 3; String qualification = 容量大; String use = 服务; String inbudget = 是; String estimatedCost = 799;phone = phone + rn + mobile;/控件提供有接口,用js向word对应书签位置传值function CopyTextToBookMark(inputname,BookMarkName)tryvar inputValue=;var j,elObj,optionItem;var elObj = document.all.item(inputname); if (!elObj)/alert(inputname);alert(HTML页面没有该元素);return;elseinputValue = elObj.value;var bkmkObj = document.all.TANGER_OCX.ActiveDocument.BookMarks(BookMarkName);if(!bkmkObj)alert(Word 模板中不存在名称为:+BookMarkName+的书签!);return;var saverange = bkmkObj.Rangeif(inputValue=-3842)saverange.InsertSymbol(-3842, Wingdings, true);elsesaverange.Text = inputValue;document.all.TANGER_OCX.ActiveDocument.Bookmarks.Add(BookMarkName,saverange);catch(err)function transmit()var inputarray=new Array(caseid,orgname,applyUser,email,phone,expectDate,applyDate,priority,urgent,deviceName,deviceModel,deviceNumber,qualification,use,inbudget,estimatedCost);var fieldarray=new Array(caseid,orgname,applyUser,email,phone,expectDate,applyDate,priority,urgent,deviceName,deviceModel,deviceNumber,qualification,use,inbudget,estimatedCost);for(var i=0;iinputarray.length;i+)CopyTextToBookMark(fieldarrayi,inputarrayi)/载入控件对象body onload=document.all.TANGER_OCX.OpenFromURL();transmit(); object id=TANGER_OCX classid=clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404 codebase=/OfficeControl.cab#version=3,0,0,5 width=100% height=7355. 其它说明: 若word文档保存为pdf功能不能使用,请先关闭所有应用程序,到这里下载安装pdf虚拟打印机pdfcreator-0_9_5_setup.exe. 示例程序各文件夹说明:downLoadedFiles 用于存放文档控件的cab包和安全签名印章系统安装程序.secSignFile 存放电子印章系统使用的印章文件tempFile 上传所需的临时文件文件夹templateFile 放置文档模板的文件夹uploadAttachFile 存放上传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省揭阳市空港经济区2026届九上化学期中综合测试试题含解析
- 山东省日照市东港区新营中学2024-2025学年部编版七年级下学期历史期中考试题(含答案)
- 2026届四川省自贡市曙光中学化学九年级第一学期期末达标检测试题含解析
- 2026届广东省茂名市直属学校英语九上期末联考模拟试题含解析
- 2026届福建省厦门市四校化学九年级第一学期期中质量检测试题含解析
- 旅游景区物业经营权及旅游服务合作协议
- 离婚协议书中个人债务分担协议书范本
- 专科康复治疗学考试题及答案
- 珠宝拍卖代理合同及拍卖规则及流程清单
- 专技十三级考试题目及答案
- 学校食堂食品安全事故案例及教训
- 2025年全国企业员工全面质量管理知识竞赛题库及答案(共70题)
- 改良风险矩阵法在压力管道安全风险分级管控中的应用
- 工程竣工财务决算审计服务方案投标文件(技术方案)
- 2024年IMO中国国家集训队第一阶段选拔试题及答案解析
- 2025年农村土地承包经营权流转合同样本
- 特种设备定期检验与维护管理
- 2025年上海闵行区高三一模高考英语模拟试卷(含答案详解)
- 《保险诚信教育》课件
- 统编版2024-2025学年道德与法治三年级上册全册教案
- 第一章 地球的运动 单元复习 课件高二上学期 地理 人教版(2019)选择性必修一
评论
0/150
提交评论