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");//模版文檔要先加書簽 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM