目    录

一、工作原理...5

1.1         开发流程...5

1.2         WEB页面调用控件:.6

二、接口说明...7

2.1         接口...7

2.1.1     AboutBox.7

2.1.2     AcceptAllRevisions.7

2.1.3     CloseDoc.7

2.1.4     DelLocalFile.8

2.1.5     GetDocumentObject.8

2.1.6     GetFieldValue.9

2.1.7     GetTempFilePath.9

2.1.8     GetRevCount.10

2.1.9     GetFileSize.10

2.1.10            GetBookMarkCount.10

2.1.11            HideMenuItem.10

2.1.12            HttpInit.11

2.1.13            HttpAddPostFile.11

2.1.14            HttpAddPostString.11

2.1.15            HttpAddPostCurrFile.12

2.1.16            HttpPost.12

2.1.17            InsertFile.12

2.1.18            IsOpened.13

2.1.19            IsSaved.13

2.1.20            LoadOriginalFile.14

2.1.21            OpenFileDlg.14

2.1.22            ProtectDoc.15

2.1.23            PrintDoc.15

2.1.24            PutSaved.15

2.1.25            Save.16

2.1.26            SaveTo.16

2.1.27            SaveAs.16

2.1.28            SetFieldValue.17

2.1.29            SetTrackRevisions.18

2.1.30            ShowRevisions.18

2.1.31            SetCurrUserName.18

2.1.32            ShowDialog.18

2.1.33            UnProtectDoc(BSTRstrPwd).19

2.2         属性...20

2.2.1     DocType.20

2.2.2     Version.20

2.2.3     AppVersion.20

2.2.4     lEventRet.20

2.2.5     IsModify.21

2.2.6     ShowToolBar.21

2.2.7     lContinue.21

2.3         事件...21

2.3.1     NotifyWordEvent.21

2.3.2     NotifyCtrlReady.22

2.3.3     NotifyToolBarClick.22

附录:WebOffice文件Http上传原理...23


一、工作原理

WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。

1.1  开发流程

├  装载控件        <object>...</ object >

├  触发初始化方法

<SCRIPTLANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyCtrlReady>

<!--

WebOffice1_NotifyCtrlReady()

//-->

</SCRIPT>

├  执行初始化方法,打开新文档或装载已经存在的文档

functionWebOffice1_NotifyCtrlReady() {

document.all.WebOffice1.LoadOriginalFile("…","…");

}

├  根据当前步骤,来决定是否进入修订状态,如果是修订状态,最好设置当前的用户名

functionWebOffice1_NotifyCtrlReady() {

document.all.WebOffice1.LoadOriginalFile("…","…");

document.all.WebOffice1.SetCurrUserName("张三");

document.all.WebOffice1.SetTrackRevisions(1);

}

├ 填写表单元素,编辑Office文档

├  执行Http上传接口保存表单元素和Office文档

//保存文档之前,如果需要接受修订,需要调用

document.all.WebOffice1.SetTrackRevisions(4);

//通过Http接口上传

document.all.WebOffice1.HttpInit();

document.all.WebOffice1.HttpAddPostString("…","…");

document.all.WebOffice1.HttpAddPostCurrFile("…","…");

document.all.WebOffice1.HttpPost("…")

├  saveDoc.asp获取表单数据和Office进行数据库操作,并返回操作是否正确。

├  根据saveDoc.asp返回值进行相应操作。

1.2  WEB页面调用控件:

 

<OBJECT id=WebOffice1 height=520width="100%" style="LEFT: 0px; TOP: 0px"

classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5"  codebase=WebOffice.ocx#Version=3,0,0,0>

<PARAM NAME="_Version"VALUE="65536">

<PARAM NAME="_ExtentX"VALUE="2646">

<PARAM NAME="_ExtentY"VALUE="1323">

<PARAM NAME="_StockProps"VALUE="0"></OBJECT>

主要参数说明:

id         控件在网页的别名,可以通过别名调用控件的方法、属性

width      控件的宽度,可以使用绝对大小,如width="100px"。

height     控件的高度

codebase      设置控件自动下载的路径,用户如果没有安装控件,系统会自动访问codebase的路径下载控件;“#Version”后的是控件的版本,如果用户当前的软件版本低于“#Version”后面的版本,系统也会自动下载最新的控件

注意:    如果控件的width 和height属性使用%表示,则要明确指明它所在的容器的大小,如把控件放到表格<td>内,则要明确指明表格<td>的width和height的绝对值。


二、接口说明

2.1  接口

2.1.1     AboutBox

原 型: void AboutBox();

功  能:显示WebOffice版本信息

返回值:

示  例:

document.all.WebOffice1.AboutBox();

2.1.2     AcceptAllRevisions

原  型: longAcceptAllRevisions();

功  能:接受当前文档所有修订

返回值:

0:接受修订成功

非零:接受修订失败

示  例:

document.all.WebOffice1.AcceptAllRevisions();

2.1.3     CloseDoc

原  型: long CloseDoc(longblReqSaved);

功  能:关闭当前文档

参 数:

      blReqSaved:

0:关闭文档,不保存当前修改。

1:关闭文档,保存当前修改。

2:如果文档已经被修改,显示保存文档对话框,否则直接关闭。

其它:关闭文档,保存当前修改。

返回值:

0:    失败

非零: 成功

示  例:

//关闭当前文档,不保存当前修改。

document.all.WebOffice1.CloseDoc (0);

2.1.4     DelLocalFile

原  型: long DelLocalFile(BSTRstrFilePathName);

功  能:删除本地文件

参 数:

      strFilePathName:本地文件的绝对路径。

返回值:

0:    删除成功

非零: 删除失败

示  例:

document.all.WebOffice1.DelLocalFile("c:\\111.doc");

2.1.5    GetDocumentObject

原  型: IDispatch*GetDocumentObject();

功  能:

获取文档对象的ActiveDocument对象,此接口非常重要,基本所有的VBA功能都可以通过这个接口来实现。

参 数:                  

返回值: ActiveDocument对象的Dispatch

示  例:

/* 以下的JavaScript为采用ActiveDocument的方式直接操作VBA,向DOC文档的书签中加入一个图片。

function AddPicture(strMarkName,strBmpPath,vType)

在书签位置插入图片,

strMarkName 书签的名称

strBmpPath  图片的路径

vType       插入后的图片的样式,5为浮动在文字上面

AddPicture("test1","d:\\111.bmp",5);

AddPicture("test1","d:\\111.bmp",128);

*/

function AddPicture(strMarkName,strBmpPath,vType)

{

//定义一个对象,用来存储ActiveDocument对象
         var obj;
         obj =new Object(document.all.WebOffice1.GetDocumentObject());
         if(obj!=null){
               var pBookMarks;

// VAB接口获取书签集合
                  pBookMarks = obj.Bookmarks;
                  var pBookM;

// VAB接口获取书签strMarkName
                  pBookM = pBookMarks(strMarkName);
                  var pRange;

// VAB接口获取书签strMarkName的Range对象
                  pRange = pBookM.Range;
                  var pRangeInlines;

// VAB接口获取书签strMarkName的Range对象的InlineShapes对象
                  pRangeInlines = pRange.InlineShapes;
                  var pRangeInline;

// VAB接口通过InlineShapes对象向文档中插入图片
                  pRangeInline = pRangeInlines.AddPicture(strBmpPath);

//设置图片的样式,5为浮动在文字上面
                  pRangeInline.ConvertToShape().WrapFormat.TYPE = vType;
                  delete obj;

}

}

2.1.6     GetFieldValue

原  型: BSTRGetFieldValue(BSTR strFieldName, BSTR strSheetName);

功  能:获得书签位置的数值

参 数:

strFieldName:书签的名字

strSheetName:预留字段(值为空)

    

返回值:返回书签的值

示  例:

//获得书签的值

var strFieldValue=document.all.WebOffice1.GetFieldValue("mark_1","")

2.1.7     GetTempFilePath

原  型: BSTRGetTempFilePath();

功  能:获得临时文件路径

参 数:                  

返回值:当前文件的临时路径

示  例:

var strTempPath=document.all.WebOffice1.GetTempFilePath();

2.1.8     GetRevCount

原  型: longGetRevCount();

功  能:获取修订节点的个数

参 数:                  

返回值:获取修订节点的个数

示  例:

2.1.9     GetFileSize

原  型: longGetFileSize (LPCTSTR strFilePath);

功  能:获取本地文件的大小

参  数:                  

返回值:

示  例:

var vLen = obj.GetFileSize("c:\\111.doc");

2.1.10   GetBookMarkCount

原 型: longGetBookMarkCount();

功 能:获取文档中书签的总数量

参 数:                  

返回值:

示 例:

2.1.11   GetBook MarkInfo(lIndex,iType)

原 型: longGetBook MarkInfo(lIndex,iType);

功 能:获取文档中书签的信息

参 数:

lIndex:书签的序号,从1开始

iType:获取内容类型。0获取书签名,1获取书签值

返回值:

示 例:

2.1.12   HideMenuItem

原  型: long HideMenuItem(long lMenuType);

功  能:控制自有工具栏的显示

参 数:

lMenuType工具栏开关,采用32位的数字作为开关,当相关位为1的时候,按钮显示,为0是按钮隐藏。

enum{

vNew = 0x01,         //新建

vOpen= 0x02,             //打开

vSaveAs= 0x04,       //保存

vPrint= 0x10,          //打印

vPrintView= 0x20,      //打印预览

vReturn= 0x1000,       //全屏

vShowHideMenu = 0x4000, //显示/隐藏菜单

vFullScrean= 0x2000    //返回

};

返回值:

示  例:

//只显示新建和全屏按钮

Object.HideMenuItem(0x01 + 0x1000);

2.1.13   HttpInit

原  型: long HttpInit();

功  能:初始化上传接口

参 数:                  

返回值:

示  例:

//上传前必须执行此方法

document.all.weboffice1.HttpInit();

2.1.14   HttpAddPostFile

原  型: longHttpAddPostFile(BSTR strName, BSTR strFile);

功  能:Http上传相关(保留)

参 数:                  

返回值:

示  例:

//上传本地文件c:\\111.doc

document.all.weboffice1.HttpAddPostFile("111","c:\\111.doc")

2.1.15   HttpAddPostString

原  型: longHttpAddPostString(BSTR strName, BSTR strValue);

功  能:添加要上传的表单域

参 数:

      strName:表单域的名称

strValue:表单域的值

返回值:

示  例:

//添加表单域,可多次执行此方法

document.all.WebOffice1.HttpAddPostString("DocTitle",myform.DocTitle.value);

2.1.16   HttpAddPostCurrFile

原  型: longHttpAddPostCurrFile(String field, String newFileName);

功  能:添加要上传的Word或者Excel文件

参  数:

Field:要上传文件的id

newFielName:上传后的新文件名。该参数可以为空,系统将自动为文件命名

返回值:

示 例:

document.all.WebOffice1.HttpAddPostCurrFile("DocContent","");

2.1.17   HttpPost

原  型: BSTR HttpPost(BSTRstrHttpURL);

功  能:将当前表单和文件数据提交到指定URL路径

参 数:

strHttpURL:  处理表单和文件数据的文件URL路径

返回值:

     Succeed:上传成功

failed: 上传失败

示  例:

//相对路径

var returnValue=document.all.WebOffice1.HttpPost("../saveDoc.jsp");

//绝对路径

var returnValue=document.all.WebOffice1.HttpPost("http://127.0.0.1/saveDoc.jsp")

2.1.18   InsertFile

原  形:short  InsertFile(LPCTSTR strFilePathName, shortnCurPos)

功  能:插入合并文件,和插入图片。

参  数:strFilePathName:

文件或者图片的路径,可以是Http.或者Ftp路径

nCurPos:

位置和图片控制符。nCurPos 或者nCurPos -8

0: 当前位置

1: 文件开头

2: 文件末尾

如果第四位为1:表示插入的是图片

返回值:

0:正确

其他:错误

示  例:

//文件头部

document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",1);

//文件尾部

document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",2);

//当前光标位置

document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",0);

//文件头部

document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",9);

//文件尾部

document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",10);

//当前光标位置

document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",8);

2.1.19   IsOpened

原  型: long IsOpened();

功  能:判断当前是否打开文件

参 数:                  

返回值:

0:表示当前未打开文档

非0:表示已经打开文档

FILE_TYPE_WORD = 11,

FILE_TYPE_WORD =11,

FILE_TYPE_EXCEL= 12,

FILE_TYPE_PPT = 13,

FILE_TYPE_RTF = 14,

FILE_TYPE_WPS = 21,

FILE_TYPE_PDF = 31,

FILE_TYPE_UNK = 127

示  例:

var isOpened=document.all.WebOffice1.IsOpened();

2.1.20   IsSaved

原  型: long IsSaved();

功  能:判断文件是否被修改

参 数:                  

返回值:

0:文件已被修改

非零:文件未被修改

示  例:

var isSaved=document.all.WebOffice1.IsSaved();

2.1.21   LoadOriginalFile

原  型: longLoadOriginalFile(BSTR pcFileNameOrUrl, BSTR pcType);

功  能:新建、装载Office文档

参 数:

pcFileNameOrUrl:

要装载文件的本地路径或者URL,值为空表示新建文档,如果是在Http的Web环境下,可以传相对路径.

pcType:

doc:打开、新建Word文件

xls:打开、新建Excel文件

ppt:打开、新建PPT  文件

wps:打开、新建WPS  文件

    

返回值:

0:失败

非0:成功

示  例:

// 通过URL打开一个服务器文件,getdoc.asp代码见演示文件

document.all.WebOffice1.LoadOriginalFile("http://127.0.0.1/getdoc.asp?id=8","doc");

// 通过URL打开一个服务器文件,相对路径

document.all.WebOffice1.LoadOriginalFile("/getdoc.asp?id=8","doc");

document.all.WebOffice1.LoadOriginalFile("./getdoc.asp?id=8","doc");

// 新建Excel

document.all.WebOffice1.LoadOriginalFile("","xls");

// 通过Word打开本地文件

document.all.WebOffice1.LoadOriginalFile("C:\\demo.doc","doc");

2.1.22   OpenFileDlg

原  型: shortOpenFileDlg();

功  能:打开本地文件显示在WebOffice中

参  数:pcFileNameOrUrl:保存的文件路径

返回值:

示  例:

//打开对话框

document.all.WebOffice1.OpenFileDlg();

2.1.23   ProtectDoc

原  型: longProtectDoc(long lProOrUn, long lType, BSTR strPWD);

功  能:文档保护

参  数:

lProOrUn:

└ 1:为保护文档

└ 0:为解锁文档

lType       :

└ 0 :文档保护,只允许修订

└ 1 :文档保护,只允许批注

└ 2 :文档完全保护,不允许任何操作

strPWD:文档保护、解锁时所需设置的密码

  

返回值:

示  例:

// 保护文档,只允许修订

document.all.WebOffice1.ProtectDoc(1,0, "12345");

// 解锁文档

document.all.WebOffice1.ProtectDoc(0,0, "12345");

2.1.24   PrintDoc

原  型: long PrintDoc(longblShowDlg);

功  能:打印当前文档

参 数:blShowDlg:

0:不显示打印对话框,直接打印

非零:显示打印对话框

返回值:

0:打印失败

非零:打印成功

示  例:

//显示打印对话框

document.all.WebOffice1.PrintDoc(1);

2.1.25   PutSaved

原  型: longPutSaved(boolean bSaved);

功  能:设置当前文档的修改状态

参  数: 

0: 处于修改状态

1: 处于保存状态

返回值:

示  例:

//设置当前文档处于修改状态

document.all.WebOffice1.PutSaved(0);

2.1.26   Save

原  型: long Save();

功  能

将文件保存原来位置,第一次保存时弹出对话框

参  数:

返回值:

0:保存失败

非零:保存成功

示  例:

document.all.WebOffice1.Save();

2.1.27   SaveAs

原  型: long SaveAs(BSTRstrFileName, long dwFileFormat);

功  能:保存文件到本地

参  数:

strFileName: 要保存的文件路径和文件名

dwFileFormat:保存的文件类型

└ 0 Word类型

└ 2 Txt文件

└ 6 Rtf文件

└ -4143 Excel类型

返回值:

示  例: 

document.all.WebOffice1.SaveAs("C:\\test.doc",0);      //另存为Word文件

document.all.WebOffice1.SaveAs("C:\\test.txt",2);      //另存为Txt文件

document.all.WebOffice1.SaveAs("C:\\test.rtf",6);      //另存为Rtf文件

document.all.WebOffice1.SaveAs("C:\\test.xls",-4143);  //另存为Excel文件 

2.1.28   SetFieldValue

原  型: longSetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strSheetName);

功  能:添加书签,套红头模板

参  数:strFieldName:书签的名字,对于Excel文件,此数据位单元格

strValue:书签的值,该处可以是个用于返回数据的URL,用于套红头模板。对于Excel文件,如果插入的是图片,此数值为::JPG::+图片的路径

strSheetName:命令的类型,对于Excel文件此数值为Sheet的名称

└ ::ADDMARK::  添加书签

└::DELMARK::  删除书签

└::JPG::         添加图片,可以利用这个来实现图片电子印章

└ ::FILE::      调用本地或者URL的文件设置书签值(套红头)

返回值:

示  例:

// 添加书签mark_1,并为它赋值

document.all.WebOffice1.SetFieldValue("mark_1","北京","::ADDMARK::");

// 为已存在的书签mark_1赋值

document.all.WebOffice1.SetFieldValue("mark_1","电子签章",  "");

// 套本地红头

document.all.WebOffice1.SetFieldValue("mark_1","c:\\test.doc", "::FILE::");

// 套服务端红头1,getDoc.asp页用于返回要装载Word的二进制值,代码见演示文件

document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/getdoc.asp?id=8", "::FILE::");

// 套服务端红头2

document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/test.doc","::FILE::");

//添加图片电子印章

document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/seal.bmp","::JPG::");

//在Excel中添加图片

document.all.WebOffice1.SetFieldValue("","::JPG::http://www.google.cn/intl/zh-CN/images/logo_cn.gif","");

2.1.29   SetTrackRevisions

原  型: longSetTrackRevisions(long lValue);

功  能:修订文档

参  数:

lValue:文档修订状态

└ 1: 开始修订文档

└ 0: 进入非留痕状态

└ 4:接受当前修订

返回值:

示  例:

// 开始修订

document.all.WebOffice1.SetTrackRevisions(1);

// 接受修订

document.all.WebOffice1.SetTrackRevisions(4);

2.1.30   ShowRevisions

原  型: longShowRevisions(long nNewValue);

功  能:显示、隐藏修订

参  数:

nNewValue:要保存的文件路径和文件名

└ 1:显示修订

└ 0:隐藏修订

返回值:

示例:

document.all.WebOffice1.ShowRevisions(0);     //隐藏修订

2.1.31   SetCurrUserName 

原  型: longSetCurrUserName(BSTR strCurrUserName);

功  能:设置当前编辑Word、Excel的用户名,主要用于修订文档,标识不同人进行的不同操作

参  数:strCurrUserName:当前编辑人的用户名

返回值:

  示  例:document.all.WebOffice1.SetCurrUserName("张三");

2.1.32   ShowDialog

原 型: long ShowDialog(longdwIndex);

功  能:

显示对话框

参  数:

      dwIndex:对话框的ID数值,详细的数值列表请参照附件。

返回值:

示  例:

2.1.33   UnProtectDoc(BSTR strPwd)

原 型: long UnProtectDoc(BSTR strPwd);

功  能:解除当前文档保护

参  数:strPwd文档保护时所设置的密码

返回值:

0:解锁成功

非零:解锁失败

示  例:

document.all.WebOffice1.UnProtectDoc("12345");

 

2.2  属性

2.2.1     DocType

原  型: longDocType;

说  明:文件类型,只读

数 值

FILE_TYPE_WORD =11,

FILE_TYPE_WORD = 11,

FILE_TYPE_EXCEL = 12,

FILE_TYPE_PPT = 13,

FILE_TYPE_RTF = 14,

FILE_TYPE_WPS = 21,

FILE_TYPE_PDF = 31,

FILE_TYPE_UNK = 127

2.2.2    Version

原 型: BSTRVersion;

说  明:打开文件的版本号,只读

数  值

2.2.3     AppVersion

原 型: BSTRVersion;

说  明:打开文件的版本号,只读

数  值

2.2.4    lEventRet

原 型: BOOL LEventRet;

说  明:见事件 NotifyToolBarClick事件

数  值

2.2.5    IsModify

原 型: BOOLIsModify;

说  明:判断文档是否被修改,需要在LoadOrigarFile之前设置 OptionFlag|= 0x0400 才有效。

2.2.6    lContinue

原  型: long lContinue;

功  能:用于NotifyWordEvent的处理函数中,可以终止相应事件的继续执行

参  数:

返回值:

1:可以继续执行(默认)

0:不是2007版本

示  例:

//禁止关闭当前的Word/Excel/Wps文档

OnNotifyWordEvent(BSTRstrEventName)

{

if(strEventName == “DocumentBeforeClose”)

{

lContinue = 0;

}

}

2.3  事件

2.3.1     NotifyWordEvent

原  型:  void  NotifyWordEvent(BSTRstrEventName);

说  明:捕获部分Word/Excel/Wps事件。

参数:strEventNameàWord/Excel的事件名,可能是以下的数值

DocumentChange

DocumentBeforeClose

DocumentBeforePrint

DocumentBeforeSave

备注:本事件在本版本扩展到Excel和Wps的支持,且可以终止该事件的继续执行(使用属性lContinue)。

2.3.2    NotifyCtrlReady

原 型: void NotifyCtrlReady();

说  明:当控件准备完毕后触发,一般在这个事件中完成初始化的操作。

 

2.3.3    NotifyToolBarClick

原 型: voidNotifyToolBarClick(long iIndex);

参 数:

long iIndex : 工具栏按钮ID。

ID_RETURN                       32769

ID_NEW                           32770

ID_OPEN                          32771

ID_SAVEAS                        32772

ID_FULLSCREAN                   32773

ID_PRINT                         32774

ID_PRINTVIEW                    32775

说  明:

(不适用于Office2007)每个按钮都有默认的处理动作,如果不希望触发默认的处理动作,需要在此时间中设置属性lEventRet = 0;

以下实例截获了SAVEAS的按钮事件。

//1. 定义事件处理函数

<SCRIPTLANGUAGE=javascript FOR=WebOffice1 VENT=NotifyToolBarClick(lCmd)>

<!--

WebOffice1_NotifyToolBarClick(lCmd)

//-->

</SCRIPT>

//2. 截获处理事件

functionWebOffice1_NotifyToolBarClick(lCmd) {

if(32772==lCmd){

document.all.WebOffice1.lEventRet = 0;

}

}

 

附录:WebOffice文件Http上传原理

WebOffice文件Http上传原理分析

 

WebOffice控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。注:WebOffice的上传接口和AIP是一致的。

原理

因为Web页面上的WebOffice打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域<input type=file …>,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。

主要上传接口:

l HttpInit();

该方法用于初始化上传接口,不需要设置参数

l HttpAddPostString(String FieldName, String someValue);

添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值

例一:

HttpAddPostString("username", "zhangSan");

它类似域表单域的

<input type=text name=username value=zhangSan>

例二:

HttpAddPostString("username", WebForm.username.value);

….

<form name= WebForm >

<input type=text name=username value=zhangSan>

</form>

注意:如果使用 上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。

l HttpAddPostCurrFile(String fileName, String ReName);

添加当前WebOffice编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。

例一:

HttpAddPostCurrFile("AipFile", "");

该接口模拟表单文件域如下:

<input type=file name=AipFile >

注意:第二个参数为空表示控件自动为文件命名,如:dj_temp.aip,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。

l HttpPost(String url);

执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。

url支持绝对路径和相对路径。

绝对路径,例如:http://192.168.0.1/savedoc.asp

相对路径要以“./”或者“../”开头。例如:./savedoc.asp

完整的上传接口演示

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("文件上传失败")

}

}

关于保存

WebOffice上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了,具体代码参考附件(asp和jsp的实现)。

论坛:http://forum.dianju.cn/

web在线编辑word,excel,pdf插件-----WebOffice 文档控件API相关推荐

  1. weboffice控件接收html文件,WebOffice 文档控件API

    目    录 WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word.Excel.WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Ht ...

  2. 如何在谷歌Chrome新版浏览器中打开并编辑Word/Excel/PPT等Office文档?(视频演示)

    如何在谷歌Chrome新版浏览器中打开并编辑Word/Excel/PPT等Office文档?

  3. 在线查看word,excel,pdf文件解决

    眼看着项目要结束,提出新的需求(-_-!!习惯成自然了)需要支持在线查看word,excel,pdf文件,网页中嵌套word的时候,不让word文档占据整个网页,页面内还要有审批等功能,第一感觉想到控 ...

  4. 用pageOffice文档控件实现 office文档在线编辑

    第三方文档控件,pageOffice 系统开发中经常要处理办公文档,如果word,excel,ppt,编辑整理,保存,归档. 开发市场上也有很多第三文文档控件,多年的总结,还是认为pageOffice ...

  5. office文档管理服务器编辑,_卓正软件 - PageOffice官方网站 - 在线编辑Word、Excel的Office文档控件...

    Office 组件 在线显示.编辑.保存Word文档 √ √ √ 在线显示.编辑.保存Excel文档 √ √ √ 在线显示.编辑.保存PowerPoint文档 √ √ √ 在线播放PowerPoint ...

  6. Vue 预览word,excel,ppt等office文档-内网访问(基于onlyoffice,后端返回文件流)

    Vue 预览word,excel等office 先看效果!! 需求背景:在前端页面中预览office文件且是内网访问,服务器不可访问外网的前提. 因此微软的接口就废掉了,因为他接口的条件是可以访问外网 ...

  7. word和pdf等常见文档格式如何转换

    新手遇到文档转换问题时,常常因为找不到好的解决方法而弄得满头雾水,比如如何将PDF转成Word.Word怎么转成PDF.PPT可以转成PDF吗?等等,下面具体分享一些我的经验. 一.网页版迅捷PDF在 ...

  8. pdf文档控件Aspose.PDF for .NET 授权须知

    Aspose.PDF是一款高级PDF处理API,可以在跨平台应用程序中轻松生成,修改,转换,呈现,保护和打印文档.无需使用Adobe Acrobat.此外,API提供压缩选项,表创建和处理,图形和图像 ...

  9. 在线编辑Word,Excel (WebOffice)

    [b]1.前言[/b] 很多时候会用到在线编辑保存Word,Excel,这时我们需要用到WebOffice.源代码到[url]www.dsoframer.com[/url],注册后即可下载,完全免费使 ...

最新文章

  1. mysql统计出每个姓氏的人数_你见过什么偏僻的姓氏?明明是老虎的虎姓氏却读māo...
  2. python name_python中__name__的使用
  3. 找对象的过程中,我竟然理解了什么是机器学习!
  4. 多目标跟踪算法FairMOT深度解析
  5. 验证码实现(随机背景色及字体颜色,带扰乱线条)
  6. java swt 下拉列表_求助:SWT 下拉列表
  7. 手把手教你学dsp_新课免费看| 手把手教你学DSP,C2000从入门到精通
  8. python之(re)正则表达式下
  9. 荣耀鸿蒙os2.0公测版,鸿蒙OS 2.0他来了!华为HarmonyOS 2.0开发者公测版正式推送
  10. [网络安全自学篇] 四十八.Cracer第八期——(1)安全术语、Web渗透流程、Windows基础、注册表及黑客常用DOS命令
  11. Sklearn聚类算法之meanshift
  12. 贪心宝贝话说上回讲到海东集团面临内外交困,公司的元老也只剩下XHD夫妇二人了。显然,作为多年拼搏的商人,XHD不会坐以待毙的。 一天,当他正在苦思冥想解困良策的时候,突然想到了自己的传家宝,那是公司成
  13. 你的六岁在玩儿泥巴,他们六岁已经在讲算法了
  14. 【Active Learning - 09】主动学习策略研究及其在图像分类中的应用:研究背景与研究意义
  15. 爱情故事:追忆似水流年 回味永恒的爱恋
  16. python入门论坛_PythonTab:Python中文开发者社区门户
  17. dos命令之 assoc 用法详解
  18. 精华|风控相关欺诈防范要点(规则制定)
  19. HDFS的读写流程步骤(附图文解析)
  20. JS去除数组中重复的元素

热门文章

  1. 关于MVC控制器导出Excel时MemoryStream流已关闭的问题
  2. 在vc2008中用_crtBreakAlloc调试内存泄漏
  3. ESXI6.7安装补丁
  4. java模拟登录新版正方_java 模拟登陆正方教务系统
  5. TVS管与压敏电阻的性能比较
  6. python算法习题(一): 排列组合
  7. 18年华为没有一项原创的发明
  8. 2019_WWW_Dual graph attention networks for deep latent representation of multifaceted social effect
  9. android使用百度地图SDK 去掉百度Logo的小技巧(转)
  10. c语言信用卡号验证,Javascript验证Visa和MasterCard信用卡号的方法