• NTKO在线office控件使用实例


    目录

    1. NTKO在线office控件使用实例

    1.1. 基础介绍

    1.2. 基本原理

    1.3. 实例

    1.3.1. 打开、保存部分代码

    1.3.2. 动态设值

    1. NTKO在线office控件使用实例

    1.1. 基础介绍

      在线Office基础功能有在线打开、修改、保存文档、动态插入数据等常用功能。具体的介绍请直接参考官方的文档。

    1.2. 基本原理

      当控件向后台请求一个链接加载word文档的时候,对应的后台处理要有一个文件下载的方法,而相似地,当控件向后台保存一个word文档的时候,后台也要有一个文件上传处理的方法。

    1.3. 实例

    1.3.1. 打开、保存部分代码

      1      var path="<%=basePath%>";
      2         var ntkoobj=null;//控件对象
      3         var isFileOpened;//控件是否打开文档
      4         var reloadFlg=0;//重新获取标志
      5         
      6         /**ntko工具对象**/
      7         var ntkoTool={
      8             newDoc:function(docType){
      9                 //新建文档
     10                 ntkoobj = document.all("TANGER_OCX"); //"TANGER_OCX"是网页中的NTKO OFFICE文档控件的ID
     11                 ntkoTool.disableMenu();
     12                 if(null == ntkoobj){ 
     13                     alert("NTKO OFFICE not exist!");
     14                     return;
     15                 }
     16                 if(docType==null||0 == docType.length){
     17                     ntkoobj.CreateNew("Word.Document");//默认是word
     18                 }else{
     19                     if(docType=="word"){
     20                         ntkoobj.CreateNew("Word.Document");
     21                     }else if(docType=="excel"){
     22                         ntkoobj.CreateNew("Excel.Sheet");
     23                     }else if(docType=="ppt"){
     24                         ntkoobj.CreateNew("PowerPoint.Show");
     25                     }
     26                 }
     27             },
     28             openDoc:function(docURL){
     29                 //打开文档
     30                 ntkoobj = document.all("TANGER_OCX"); //"TANGER_OCX"是网页中的NTKO OFFICE文档控件的ID
     31                 ntkoTool.disableMenu();
     32                 if(null == ntkoobj){ 
     33                     alert("NTKO OFFICE not exist!");
     34                     return;
     35                 }
     36                 //打开服务器上的文档
     37                 ntkoobj.BeginOpenFromURL(docURL);
     38             },
     39             disableMenu:function(){
     40                 //禁用菜单
     41                 ntkoobj.FileSave=false;
     42                 ntkoobj.FileSaveAs=false;
     43                 ntkoobj.FileNew=false;
     44                 ntkoobj.FileOpen=false;
     45                 ntkoobj.FileClose=false;
     46             },
     47             saveDoc:function(docURL,noInfo){
     48                 //保存文档
     49                 var fileType="";
     50                 if(isFileOpened){
     51                     switch (ntkoobj.doctype){
     52                         case 1:
     53                             fileType = "Word.Document";
     54                             break;
     55                         case 2:
     56                             fileType = "Excel.Sheet";
     57                             break;
     58                         case 3:
     59                             fileType = "PowerPoint.Show";
     60                             break;
     61                         case 4:
     62                             fileType = "Visio.Drawing";
     63                             break;
     64                         case 5:
     65                             fileType = "MSProject.Project";
     66                             break;
     67                         case 6:
     68                             fileType = "WPS Doc";
     69                             break;
     70                         case 7:
     71                             fileType = "Kingsoft Sheet";
     72                             break;
     73                         default :
     74                             fileType = "unkownfiletype";
     75                     }
     76                     var filePath=$("#filePath").val();
     77                     var fileName=$("#fileName").val();
     78                     var para="?filePath="+filePath+"&fileName="+fileName;
     79                     var result = ntkoobj.saveToURL(docURL+para,"file","fileType="+fileType,fileName,"docFileForm",true);
     80                     if(noInfo==null){
     81                         if(result=='ok'){
     82                             alert("文件保存成功!");
     83                         }
     84                     }
     85                 }else{
     86                     //alert("没有打开的文档可以保存!");
     87                 }
     88             },
     89             closeDoc:function(){
     90                 if(isFileOpened){
     91                     if(confirm("关闭文档前,系统将先保存文档。是否关闭?")){
     92                         ntkoTool.saveDoc('<%=basePath%>/ntko/saveWord.shtml','noInfo');
     93                         ntkoobj.close();
     94                         isFileOpened=false;
     95                     }
     96                 }else{
     97                     //alert("没有文档可关闭!");
     98                 }
     99             },
    100             getTdValue:function(table,rowIndex,colIndex){
    101                 var start=table.Cell(rowIndex,colIndex).range.start;
    102                 var end=table.Cell(rowIndex,colIndex).range.end-1;
    103                 return ntkoobj.ActiveDocument.range(start,end).text;
    104             },
    105             getPageSize:function(){
    106                 //获取word的总页数,和当前页数
    107                 var curpage=TANGER_OCX.ActiveDocument.Application.Selection.Information(3);
    108                 var pagenum=TANGER_OCX.ActiveDocument.Application.Selection.Information(4);
    109                 var arr=new Array();
    110                 arr[0]=pagenum;
    111                 arr[1]=curpage;
    112                 return arr;
    113             }
    114         };

    1.3.2. 动态设值

    1、在表格末尾加一行设值:

     1 document.all.item("TANGER_OCX").ActiveDocument.Tables(1).rows.add(); 2 table.Cell(0,1).range.Text="123"; 

    2、在表格指定行之前插入一行设值:

    1 var rg =document.all.item("TANGER_OCX").ActiveDocument.Tables(1).Cell(1,1).range;//获取第x行,y列的单元格
    2 document.all.item("TANGER_OCX").ActiveDocument.Tables(1).rows.add(rg);//在rg单元格所在行的前一行插入行
    3 table.Cell(2,1).range.Text="123";

    3、书签方式设值:

     1 ntkoobj.SetBookmarkValue("name","xmq");//模版文档要先加书签 

  • 相关阅读:
    expect
    grep
    Python函数
    Python的set
    Python字典
    Python循环
    Python条件判断
    Python列表
    Python字符串
    Python组织代码块的形式
  • 原文地址:https://www.cnblogs.com/xmqa/p/6307168.html
Copyright © 2020-2023  润新知