教你快速开发WebOffice

指导WebOffice的快速开发

教你快速开发WebOffice

帖子星期二 » 2013年 8月 6日 11:06 星期二

大家好:
今天楼主给大家介绍下weboffice的开发流程,希望对刚接触的人员有所帮助,话不多说,咱们直接进入正题。

一.首先介绍下工作原理:
WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。
二.实现步骤:
1.首先加载控件。ocx控件通过object元素加载到页面中先看一下代码:
代码: 全选
<OBJECT id=WebOffice1 height=520 width="100%" style="LEFT: 0px; TOP: 0px"
            classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5"  codebase=WebOffice.ocx#Version=3,0,0,0>

下面标签中的元素做下简单的说明:
    Id:OBJECT对象的唯一标示,页面中必须唯一,调用接口通过id获取对象调用接口。
    Style:样式,决定加载控件在页面的占用空间,ocx有可视化内容需要根据样式调整大小和位置;dll没有可视化内容,直接修改为最小,即高和宽都为0。需要强调的内容:CSS中有display属性可以隐藏控件不显示直接做到0,0的效果,但是.隐藏掉会导致接口调用失败。
    Classid:固定格式,每个控件都有独立的字符串,和个人身份证号一个意义。
    Codebase:固定格式,WebOffice.ocx#version=3,0,8,0:#号前半部分为控件加载路径,支持绝对路径和相对路径,相对路径是加载页和控件的相对路径。#号后半部分为控件的版本号,只修改数字即可使用逗号分隔。代码版本号比客户机本地的版本高时浏览器会自动安装下载。低于或等于直接使用本地资源不自动下载。
2.控件加载完毕,会触发初始化事件:NotifyCtrlReady。
代码: 全选
<SCRIPT LANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyCtrlReady>
<!--
 WebOffice1_NotifyCtrlReady()   ;//要执行的初始化方法      
//-->
</SCRIPT>

3.编写你要执行的初始化方法了。比如新建一个word文档:
代码: 全选
function WebOffice1_NotifyCtrlReady() {
    document.all.WebOffice1.LoadOriginalFile("", "doc");
}

PS:一些编程人员习惯性会在onload事件中进行此操作,但在执行onload事件时有可能weboffice还未加载完毕,所以就会出现一些莫名其妙的问题了。因此楼主强烈建议:按照规范作业哦!
4.接下来你就可以调用weboffice提供的各种接口完成你自己的webOffice.
5.最后一步,上传到服务器(执行Http上传接口保存表单元素和Office文档).下面我们也是通过一段代码来进行说明。
代码: 全选
function SaveDoc() {
   var returnValue;               // 保存页面的返回值
   document.all.WebOffice1.HttpInit();   // 初始化Http引擎
// 添加相应的Post元素
   document.all.WebOffice1.HttpAddPostString("username", WebForm. username.value);
   // 添加上传文件
   document.all.WebOffice1.HttpAddPostCurrFile("AipFile ","");   
   // 提交上传文件
   returnValue = document.all.WebOffice1.HttpPost("../saveDoc.jsp");
   if("true" == returnValue){
      alert("文件上传成功");   
   } else  {
      alert("文件上传失败")
   }
}

PS:WebOffice上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了,这里就不做详细介绍了
按照上面5个步骤,一个weboffice开发就可以完成了,怎么样,够简单吧,自己动手试下吧。
如有不明白之处请积极留言,我们共同讨论。谢谢大家的支持!
星期二
 
帖子: 12
注册: 2013年 8月 5日 22:54 星期一

回到 WebOffice开发系列指南

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客

cron