详细文字说明如下
1、 浏览器通过ocx.js(或webofficeocx.js)文件加载控件,在ocx.js代码中的获取控件ID,一般名称为:WebOffice,从而得到JS编控的控件对象,具对代码表示如:document.all.WebOffice或frm.WebOffice
2、 在网页body标签onload代码中加入JS,用于设置控件打开或新建一个WORD、EXCEL等文档,在打开文档考虑网络速度等原因最好在控件打开文档前设置一段JS代码用于延时加载控件类似代码如下:
obj = document.all.item("WebOffice");
if (obj !='')
{ //等待控件初始化完毕,时间长短可以根据网络速度设定。
setTimeout('openfile()',100);
}
3、 接下来即可执行控件的打开或新建方法,在新建文档时建议统一用DOC、XLS、PPT格式,实现OFFICE2003与高版本的OFFICE的DOCX、XLSX,PPTX格式兼容。类似代码如下(注意参数格式):
Document.all.WebOffice.Open(strOpenUrl,true,"Word.Document","","");
Document.all.WebOffice.Open(strOpenUrl,true,"Excel.Sheet","","");
Document.all.WebOffice.Open(strOpenUrl,true,"PowerPoint.Show","","");
Document.all.WebOffice.CreateNew("Excel.Sheet.8");
Document.all.WebOffice.CreateNew("PowerPoint.Show");
Document.all.WebOffice.CreateNew("Word.Document");
新建文档时也可以采用模板的方式新建文档,方法就是打开一个现成的模板文件即可,类似代码如下:
strRoot=http://www.aaa.com/;
Document.all.WebOffice.Open(strRoot+'temp/excel.xls',true,"Excel.Sheet","","");
4、 接下来控件会触发加载事件,执行上面Open或CreatNew方法,当打开文档时,控件实现GET请求到指定的URL下载Word或Excel文档,URL格式类似如下:http://www.aaa.com/writefile.php?id=21
5、 Web服务器收到控件发来的URL请求后,执行如上述Writefile.php代码脚本,代码脚本执行相应动作,依参数ID值到服务器数据库或硬盘对应位置找到OFFICE文档,以二进制格式读取WORD或Excel文档,返回给WEB服务器。
6、 WEB服务器得到OFFICE文档的二进制数据流后,通过网络传递给控件接收,当控件接收到完整的WORD或EXCEL等文档后,调用控件内部方法,实现打开WORD文档并显示到前端Web页面。
7、 当用户编辑好文档后,点击网页上的保存按钮,网页上的保存按钮通过JS或Vbscript调用控件的SAVE方法保存到服务器指定位置,类似代码如下:
strURL=”http://aaa/uploadedit.php?oper=edit&flsid=956458da07ea19431.doc&flag=1”
Document.all.WebOffice.Save(strURL);
上述代码重点是URL相关的脚本代码和参数设置,如上述代码参数是:oper代码是修改还是新建保存 ,flsid是文档在服务器数据库(或硬盘)对应位置的ID号,FLAG是文档类型,1表示doc格式,2,表示xls格式,3表示ppt格式,11表示DOCX格式 12表示XLS格式,13表示pptx格式等等,具体方式可以技术开发人员依自身需求而定,上述不是必须采用,但建议用户使用上述FLAG标记方式,用于记住文档格式,供控件以后打开时设置对应参数。