目录

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、在表格末尾加一行设值:

document.all.item("TANGER_OCX").ActiveDocument.Tables(1).rows.add(); 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、书签方式设值:

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

NTKO在线office控件使用实例的更多相关文章

  1. 很不错的在线Office控件:IWebOffice与SOAOffice

    http://blog.csdn.net/cjh200102/article/details/17220441 iWebOffice2003文档控件 iWebOffice2003网络文档中间件能够在I ...

  2. WEB网站类型系统中使用的OFFICE控件

    WEB下使用的OFFICE控件介绍,另提供一个原创破解首先来个名词解释,Office网络文档控件,就是在网页中编辑office文档的控件(前提是browser已经安装OFFICE).最近一个项目需要用 ...

  3. WEB网站类型系统中使用的OFFICE控件-破解Ntko-Office

    2011-12-12 22:49| 发布者: Admin| 查看: 1399| 评论: 0|原作者: 风云OA   摘要: WEB下使用的OFFICE控件介绍,另提供一个原创破解 首先来个名词解释,O ...

  4. DevExpress XtraScheduler日程管理控件应用实例(2)-- 深入理解数据存储

    DevExpress年终击穿底价,单套授权低至67折!查看详情>>> 在上篇随笔<DevExpress XtraScheduler日程管理控件应用实例(1)-- 基本使用> ...

  5. MFC按钮、列表控件应用实例(一)

    需求:实现张三.李四.王五 3 人的课程选择,并将选课结果提交到列表框中显示. 实现过程: 1.建立对话框mfc工程. 2.添加控件 tab 顺序 控 件 类 型 控件 ID1 Button IDC_ ...

  6. delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例

    1.TClientDataSet控件 通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据.一般情况下,TClie ...

  7. ntko office在线编辑控件问题记录

    ntko office在线预览插件 http://www.ntko.com/ 问题:火狐或谷歌下保存报[没有打开的文档]错误,ie正常 原因:火狐.谷歌.ie的各方法执行文字不同,ie嵌在页面,而火狐 ...

  8. (转).NET 4.5中使用Task.Run和Parallel.For()实现的C# Winform多线程任务及跨线程更新UI控件综合实例

    http://2sharings.com/2014/net-4-5-task-run-parallel-for-winform-cross-multiple-threads-update-ui-dem ...

  9. C#分屏控件用法实例

    本文实例中的自定义类PictureBox继承于UserControl,最终实现简单的分屏功能.分享给大家供大家参考之用.具体实现代码如下: public partial class PictureCo ...

随机推荐

  1. iOS programming UITableView and UITableViewController

    iOS programming  UITableView and UITableViewController A UITableView displays a single column of dat ...

  2. mac 下使用gcc 编译c函数

    mac 终端其实和window 的cmd类似,由于mac 的os x 采用了unix 系统,所以,各种类似UNIX下的命令都有用.最近在看computer science ,用到了命令行. 下面是一个 ...

  3. org.apache.tomcat.util.net.NioEndpoint,打开的文件过多

    错误信息: 27-Mar-2019 04:20:20.430 严重 [http-nio-8100-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$ ...

  4. 使用VC++编写QQ群发器,MFC做UI

    由于公司业务需要,QQ群发器经常被用来发送QQ广告,购买的QQ群发器不好用不说,而且是按机器收费的,有些功能还不能修改. 所以公司派我来开发一款自己的QQ群发器,我给群发器取名叫做飞速群发器,用来给软 ...

  5. CAD参数绘制实心圆弧填充(com接口)

    C#中实现代码说明: private void DrawPathToHatch1() { //把路径的开始位置移动指定的点 //参数一为点的X坐标 ,参数二为点的Y坐标,参数三为该点处开始宽度,对Po ...

  6. java将很长的一条sql语句,自动换行输出(修改版)2019-06-01(bug未修复)

    package org.jimmy.autosearch2019.test; import java.util.HashMap; public class AutoLinefeedSql { publ ...

  7. Getting start with dbus in systemd (02) - How to create a private dbus-daemon

    Getting start with dbus in systemd (02) 创建一个私有的dbus-daemon (session) 环境 这里我们会有两个app: app1(client),ap ...

  8. IDEA、Eclipse快捷键对比

    IDEA.Eclipse快捷键对比 序号 功能 IDEA Eclipse 1 很多功能:导入包,处理异常,强转cast Alt+Enter   2 导入包,自动修正??? Ctrl+Enter   3 ...

  9. <Redis> 入门X 分布式锁

    分布式其实就是多进程的程序,当多个进程访问一个资源,会造成问题: 1.资源共享的竞争问题 2.数据的安全性 分布式锁的解决方案: 1.怎么去获取锁 数据库 zookeeper redis 2.怎么释放 ...

  10. SpringAOP的简单实现

    AOP,即面向切面编程,springAOP采用的是动态代理的技术 其主要作用可以做一些与业务逻辑无关,但却必须的操作,例如日志记录,权限管理,检查数据,等等.首先,来做一个小实现来方便理解 首先,建立 ...