狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

WebOffice開發(fā)系列指南

admin
2015年6月2日 22:44 本文熱度 9851

WebOffice開發(fā)系列指南

帖子hangel » 2010-07-12 11:33

    WebOffice開發(fā)系列01-自動(dòng)下載安裝組件(B/S)
    WebOffice開發(fā)系列02-如何打開文件
    WebOffice開發(fā)系列03-修訂留痕
    WebOffice開發(fā)系列04-安全控制 (防止復(fù)制、打印、保存)
    WebOffice開發(fā)系列05-菜單控制
    WebOffice開發(fā)系列06-自定義工具欄 (添加工具欄按鈕、調(diào)節(jié)工具欄顏色)
    WebOffice開發(fā)系列08-文件上傳到服務(wù)器
    WebOffice開發(fā)系列09-其他功能-全屏-VBA

webOffice控件自動(dòng)下載是指在打開網(wǎng)頁時(shí),網(wǎng)頁會(huì)自動(dòng)把webOffice控件下載下來,從而可以將word、excel嵌入到網(wǎng)頁中。控件自動(dòng)下載的相關(guān)代碼如下:

< object id=WebOffice height=768 width="100%"
style="LEFT: 0px; TOP: 0px" classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5" codebase="../js/WebOffice1.ocx#version=6,0,4,0">
<param name="_ExtentX" value="6350">
<param name="_ExtentY" value="6350">
</object>

上面的腳本意思是: 自動(dòng)更新classid= FF1FE7A0-0578-4FEE-A34E-FB21B277D561 的COM組件,
更新地址為 ../js/WebOffice1.ocx,codebase后的路徑為相對(duì)路徑也可為絕對(duì)路徑,要更新的最新版本為6,0,4,0。
此時(shí),IE會(huì)自動(dòng)訪問注冊表,如果發(fā)現(xiàn)當(dāng)前機(jī)器未安裝或者當(dāng)前版本低于6,0,4,0,就會(huì)自動(dòng)下載。
hangel
 
帖子: 10
注冊: 2010-07-12 10:39
頁首

WebOffice開發(fā)系列02-如何打開文件

帖子hangel » 2010-07-12 11:33

單擊打開文件按鈕,可以在webOffice中打開文件,具體操作如圖所示:
1004291534911966484dcfde21.jpg

打開文檔的接口為LoadOriginalFile,其接口描述如下:
原 型: long LoadOriginalFile(BSTR pcFileNameOrUrl, BSTR pcType);
功 能:新建、裝載Office文檔
參 數(shù):
pcFileNameOrUrl:
要裝載文件的本地路徑或者URL,值為空表示新建文檔,如果是在Http的Web環(huán)境下,可以傳相對(duì)路徑.
pcType:
doc:打開、新建Word文件
xls:打開、新建Excel文件
ppt:打開、新建PPT 文件
wps:打開、新建WPS 文件
返回值:
為 0:失敗
非0:成功
示 例:
// 通過URL打開一個(gè)服務(wù)器文件,getdoc.asp代碼見演示文件
document.all.WebOffice1.LoadOriginalFile("http://127.0.0.1/getdoc.asp?id=8", "doc");
// 通過URL打開一個(gè)服務(wù)器文件,相對(duì)路徑
document.all.WebOffice1.LoadOriginalFile("/getdoc.asp?id=8", "doc");
document.all.WebOffice1.LoadOriginalFile("./getdoc.asp?id=8", "doc");
// 新建Excel
document.all.WebOffice1.LoadOriginalFile("", "xls");
==================特別注意===============================
建議在NotifyCtrlReady 事件中調(diào)用 LoadOriginalFile 接口,否則有可能出現(xiàn)Word窗口脫離IE界面的問題。
<SCRIPT language=javascript event=NotifyCtrlReady for=WebOffice1>
/****************************************************
*
* 在裝載完Weboffice(執(zhí)行<object>...</object>)
* 控件后執(zhí)行 "WebOffice1_NotifyCtrlReady"方法
*
****************************************************/

WebOffice1_NotifyCtrlReady()
</SCRIPT>

WebOffice1_NotifyCtrlReady(){
document.all.WebOffice1.LoadOriginalFile("", "doc");
}
您沒有權(quán)限查看這個(gè)主題的附件。
hangel
 
帖子: 10
注冊: 2010-07-12 10:39
頁首

WebOffice開發(fā)系列03-修訂留痕

帖子hangel » 2010-07-12 11:38

webOffice對(duì)文檔的修訂操作提供了豐富的接口,其接口為:document.all.WebOffice1.SetCurrUserName("user_name");
文檔操作的具體步驟如圖所示,先以Test用戶身份對(duì)文檔進(jìn)行編輯,如圖所示:
10042915368ed41a99e4cc92ba.jpg


編輯完成上傳后,其他用戶如果想修訂文檔可以單擊“修訂文檔”的按鈕,接口為:
// 開始修訂
document.all.WebOffice1.SetTrackRevisions(1);
// 接受修訂
document.all.WebOffice1.SetTrackRevisions(4);
編輯文檔的時(shí)候字體會(huì)針對(duì)不同的用戶顯示不同的顏色,如下圖所示:
10042915369c8f50cabf3a5c18.jpg


單擊“顯示修訂”會(huì)顯示所有其他用戶的修改和刪除的操作,單擊“隱藏修訂”時(shí)就會(huì)隱藏所有的修訂,
文檔文字的顏色會(huì)變成同原文檔的文字一樣,而且刪除的橫線也會(huì)去掉,其接口如下:
// 隱藏修訂
document.all.WebOffice1.ShowRevisions(0);
// 隱藏修訂
document.all.WebOffice1.ShowRevisions(0);
如下圖所示:
10042915369c8f50cabf3a5c18.jpg


單擊“接受所有修訂”則文檔的修訂就會(huì)生效,否則單擊“拒絕所有修訂”文檔的所有修訂失效,文檔內(nèi)容和初稿內(nèi)容一致。
//接受當(dāng)前所有修訂信息
document.all.WebOffice1.SetTrackRevisions(4);
單擊“獲取修訂信息”則會(huì)獲取所有對(duì)文檔進(jìn)行修訂的用戶的相關(guān)信息及修訂日期,接口描述如下:
原 型: BSTR GetRevInfo(long lIndex, long lType);
功 能:獲取修訂節(jié)點(diǎn)的信息(修訂人,修訂的時(shí)間,修訂的動(dòng)作)
參 數(shù):
lIndex: 修訂的節(jié)點(diǎn)編號(hào)
lType: 獲取的信息編號(hào)
返回值:
示 例:
//1.獲取修訂的用戶
vUserName = document.all.WebOffice1.GetRevInfo(i,0);
//2.獲取修訂的時(shí)間
vDate = new String(document.all.WebOffice1.GetRevInfo(i,1));
//3.獲取修訂的動(dòng)作
var vRet = document.all.WebOffice1.GetRevInfo(i,2);
vRet == "1":表示"插入"的操作
vRet == "2":表示"刪除"的操作
//4.獲取修訂的內(nèi)容
vUserName = document.all.WebOffice1.GetRevInfo(i,3);
//總體的例子代碼
var vCount;
vCount = document.all.WebOffice1.GetRevCount();
var vOpt = 0;
var vDate;
for(var i=1; i<= vCount; i++){
vOpt = document.all.WebOffice1.GetRevInfo(i,2);
if("1" == vOpt){
vOpt = "插入";
}else if("2" == vOpt){
vOpt = "刪除";
}else{
vOpt = "未知操作";
}
vDate = new String(document.all.WebOffice1.GetRevInfo(i,1));
vDate = parseFloat(vDate);
dateObj = new Date(vDate);
alert(dateObj.getYear() + "年" + dateObj.getMonth() + 1 + "月" + dateObj.getDate() +"日" + dateObj.getHours() +"時(shí)" + dateObj.getMinutes() +"分" + dateObj.getSeconds() +"秒" );
alert("用戶:"+document.all.WebOffice1.GetRevInfo(i,0) + "\r\n操作:" + vOpt + "\r\n內(nèi)容:" + document.all.WebOffice1.GetRevInfo(i,3));
}
100429153626ae947d8d6fde50.jpg
您沒有權(quán)限查看這個(gè)主題的附件。
hangel
 
帖子: 10
注冊: 2010-07-12 10:39
頁首

WebOffice開發(fā)系列04-安全控制 (防止復(fù)制、打印、保存)

帖子hangel » 2010-07-12 11:41

Weboffice可以對(duì)word文檔實(shí)行全面的安全控制,增強(qiáng)了文檔的安全性,用戶在編輯文檔后在輸入框中輸入密碼,
然后單擊“保護(hù)文檔”,上傳保存后別的用戶則無法對(duì)文檔進(jìn)行編輯,需要輸入正確的密碼后才可編輯,接口描述如下:
原 型: long ProtectDoc(long lProOrUn, long lType, BSTR strPWD);
功 能:文檔保護(hù)
參 數(shù):
lProOrUn:
└ 1:為保護(hù)文檔
└ 0:為解鎖文檔
lType :
└ 0 :文檔保護(hù),只允許修訂
└ 1 :文檔保護(hù),只允許批注
└ 2 :文檔完全保護(hù),不允許任何操作
strPWD:文檔保護(hù)、解鎖時(shí)所需設(shè)置的密碼
返回值:
示 例:
// 保護(hù)文檔,只允許修訂
document.all.WebOffice1.ProtectDoc(1, 0, "12345");
// 解鎖文檔
document.all.WebOffice1.ProtectDoc(0, 0, "12345");
如圖所示:
10042915390aef3d09dccc1c7f.jpg


單擊“禁止打印”可以防止非法用戶對(duì)文檔進(jìn)行打印操作,單擊“禁止復(fù)制”可以去掉word的復(fù)制粘貼功能,單擊“允許復(fù)制”則恢復(fù)。
相關(guān)的接口描述如下:
原 型: long SetSecurity(long lFlag)
功 能:
設(shè)置文檔安全選項(xiàng)
參 數(shù):
lFlag:按位標(biāo)記的控制開關(guān)。
0x01表示不允許打印(當(dāng)?shù)谝晃粸?時(shí)有效)
0x02表示不允許保存(當(dāng)?shù)诙粸?時(shí)有效)
0x04表示不允許復(fù)制(當(dāng)?shù)谌粸?時(shí)有效)
0x08表示不允許拖動(dòng)(當(dāng)?shù)谒奈粸?時(shí)有效)
0x8000表示清除開關(guān)(當(dāng)最高位為1時(shí)有效)

返回值:
示 例:
//禁止打印
Object.SetSecurity(0x01);
//恢復(fù)允許打印
Object.SetSecurity(0x01 + 0x8000);
//禁止保存
Object.SetSecurity(0x02);
//恢復(fù)允許保存
Object.SetSecurity(0x02 + 0x8000);
//禁止復(fù)制
Object.SetSecurity(0x04);
//恢復(fù)允許復(fù)制
Object.SetSecurity(0x04 + 0x8000);
//禁止打印、保存、復(fù)制
Object.SetSecurity(0x01+0x02+0x04);
//恢復(fù)允許打印、保存、復(fù)制
Object.SetSecurity(0x01+0x02+0x04+0x8000);

通過事件方式進(jìn)行安全控制,原理是通過weboffice控件中的NotifyWordEvent事件捕獲捕獲部分Word/Excel/Wps事件,在事件執(zhí)行前進(jìn)行相關(guān)設(shè)置,從而對(duì)word文檔進(jìn)行安全控制。
您沒有權(quán)限查看這個(gè)主題的附件。
hangel
 
帖子: 10
注冊: 2010-07-12 10:39
頁首

WebOffice開發(fā)系列05-菜單控制

帖子hangel » 2010-07-12 11:42

由于控件升級(jí) 現(xiàn)在控制菜單有兩種方式:
新接口:
屏蔽菜單
1.《2003屏蔽所有的菜單,除了參數(shù)的4個(gè)菜單。
2.《2007 功能區(qū)隱藏。當(dāng) pcExcludeBar1= "show" 功能區(qū)顯示,否則隱藏
HideMenuArea(LPCTSTR pcExcludeBar1, LPCTSTR pcExcludeBar2, LPCTSTR pcExcludeBar3, LPCTSTR pcExcludeBar4)
示例:
隱藏offcie 2003所有菜單工具欄格式欄等
document.all.WebOffice1.HideMenuArea(“”,””,””,””);
效果如下:
1004291736b3e45edd9e0a3714.jpg


顯示菜單欄,常用工具欄:
document.all.WebOffice1.HideMenuArea(“Menu Bar”,”Standard”,””,””);
隱藏 office 2007 功能區(qū)
document.all.WebOffice1.HideMenuArea(“”,””,””,””);
顯示W(wǎng)ord 2007 功能區(qū)
document.all.WebOffice1.HideMenuArea(“show”,””,””,””);


舊接口:
Word 2003 :
short SetToolBarButton2(VARIANT lIndex, VARIANT lID, VARIANT lControl);
設(shè)置所有菜單項(xiàng)或者菜單項(xiàng)按鈕的隱藏和現(xiàn)實(shí)
lIndex:要顯示隱藏的元素名稱。根據(jù)Word/Excel 的不同版本,可能有部分不同
└ Standard:常用工具條
└ Formatting:格式化工具條
└ Menu Bar:菜單欄
lID:要操作的菜單元素的位置
lControl:按鈕狀態(tài)控制,按位控制,如該值為1時(shí),它的二進(jìn)制為0001,表示該菜單元素是顯示但不可用第一位為:是否顯示。0:隱藏;1:顯示第二位為:是否可用。0:不可用;1:可用。第三位為:工具欄和菜單欄是否恢復(fù)到默認(rèn)狀態(tài)。0:不恢復(fù);1:恢復(fù)。第四位為:是否隱藏整個(gè)菜單欄或工具欄,1為隱藏,0為顯示
示例:
//隱藏菜單欄
document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,8);
//顯示菜單欄
document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,11);
//隱藏常用工具欄
document.all.WebOffice1.SetToolBarButton2("Standard",1,8);
//顯示常用工具欄
document.all.WebOffice1.SetToolBarButton2("Standard",1,11);
//隱藏格式工具欄
document.all.WebOffice1.SetToolBarButton2("Formatting",1,8);
//顯示格式工具欄
document.all.WebOffice1.SetToolBarButton2("Formatting",1,11);

效果圖如下:
100429173778c902439dcacf57.jpg

此時(shí)用戶如果需要將自帶工具欄也隱藏可以采用weboffice工具欄隱藏接口:
document.all.WebOffice1.ShowToolBar=0;// 0 隱藏 1 顯示
效果如圖:
100429173778c902439dcacf57.jpg


1 小時(shí)前


Word 2007:
long HideMenuAction(short shMenuMode, long lValue);
hMenuMode:設(shè)置模式:具體值及含義如下:
0:Office2003以下,直接關(guān)閉菜單,暫未支持。可使用SetToolBarButton2接口控制
1:Office2007以上,需要設(shè)置關(guān)閉菜單列表
2:擴(kuò)展值,暫無含義
3:擴(kuò)展值,暫無含義
4:擴(kuò)展值,暫無含義
5:設(shè)置關(guān)閉菜單列表后,需調(diào)用此值激活。并第二個(gè)參數(shù)設(shè)置為0,具體見示例。
6:恢復(fù)菜單顯示及功能使用,第二個(gè)參數(shù)設(shè)置為0
lValue:設(shè)置要隱藏的菜單及禁止復(fù)制、粘貼功能
0x1000:十進(jìn)制為4096--粘貼無效
0x2000:十進(jìn)制為8192—復(fù)制無效
0x100000:十進(jìn)制為1048576—開始菜單
0x200000:十進(jìn)制為2097152—插入菜單
0x400000:十進(jìn)制為4194304—頁面布局菜單
0x800000:十進(jìn)制為8388608—引用菜單
0x1000000:十進(jìn)制為16777216—郵件菜單
0x2000000:十進(jìn)制為33554432—審閱菜單
0x4000000:十進(jìn)制為67108864—視圖菜單
0x8000000:十進(jìn)制為134217728—開發(fā)工具菜單
0x10000000:十進(jìn)制為268435456—加載項(xiàng)菜單

//設(shè)置粘貼無效
document.all.WebOffice1. HideMenuAction(1,4096);//設(shè)置動(dòng)作
document.all.WebOffice1. HideMenuAction(5,0);//激活設(shè)置
//設(shè)置復(fù)制無效
document.all.WebOffice1. HideMenuAction(1,4096);
document.all.WebOffice1. HideMenuAction(5,0);
//設(shè)置開始菜單隱藏
document.all.WebOffice1. HideMenuAction(1,1048576);
document.all.WebOffice1. HideMenuAction(5,0);
//設(shè)置多菜單隱藏(比如隱藏開始、插入、頁面布局菜單)
document.all.WebOffice1. HideMenuAction(1,1048576+2097152+4194304);
document.all.WebOffice1. HideMenuAction(5,0);
//恢復(fù)至設(shè)置之前狀態(tài)(即正常狀態(tài))
document.all.WebOffice1. HideMenuAction(6,0);
您沒有權(quán)限查看這個(gè)主題的附件。
hangel
 
帖子: 10
注冊: 2010-07-12 10:39
頁首

WebOffice開發(fā)系列06-自定義工具欄 (添加工具欄按鈕、調(diào)節(jié)工具欄顏色)

帖子hangel » 2010-07-12 11:42

調(diào)節(jié)顏色:
SetCustomColour(long lType, long lColour)
lType: 設(shè)置膚色
custColorToolBarBKColor = 0, 底色
custColorToolBarMiddleColor = 1, 中間色
custColorToolBarTopColor = 2, 上色
custColorToolBarBottomColor = 3, 下色
lColour: 為顏色值 0-65535
已經(jīng)有的幾個(gè)模式
//淡紫色
document.all.WebOffice1.SetCustomColour(2,243*256*256+244*256+250);
document.all.WebOffice1.SetCustomColour(1,225*256*256+226*256+236);
document.all.WebOffice1.SetCustomColour(3,153*256*256+151*256+181);
document.all.WebOffice1.SetCustomColour(0,243*256*256+243*256+247);
10042916135b8801f3fa7105a9.jpg


//深藍(lán)色
document.all.WebOffice1.SetCustomColour(2,131*256*256+97*256+59);
document.all.WebOffice1.SetCustomColour(1,239*256*256+216*256+138);
document.all.WebOffice1.SetCustomColour(3,133*256*256+94*256+53);
document.all.WebOffice1.SetCustomColour(0,130*256*256+92*256+52);
1004291613e2bbbdebd085fd6d.jpg

//淺黃色
document.all.WebOffice1.SetCustomColour(2,220*256*256+235*256+254);
document.all.WebOffice1.SetCustomColour(1,196*256*256+219*256+249);
document.all.WebOffice1.SetCustomColour(3,136*256*256+174*256+228);
document.all.WebOffice1.SetCustomColour(0,191*256*256+214*256+249);
1004291613ff44a7d13695f472.jpg

添加按鈕:
SetCustomToolBtn(long lIndex, LPCTSTR pcBtnText)
設(shè)置自定義菜單的文字信息 系統(tǒng)內(nèi)置了 5 個(gè)按鈕。
SetCustomToolBtn(0,"test0");
SetCustomToolBtn(1,"test2");
SetCustomToolBtn(2,"test2");
SetCustomToolBtn(3,"test3");
SetCustomToolBtn(4,"test4");
示例:document.all.WebOffice1.SetCustomToolBtn(0, "new1");
document.all.WebOffice1.SetCustomToolBtn(1, "new2");
document.all.WebOffice1.SetCustomToolBtn(2, "new3");
document.all.WebOffice1.SetCustomToolBtn(3, "new4");
document.all.WebOffice1.SetCustomToolBtn(4, "new5");
10042916131b6837953216bbe2.jpg

如何實(shí)現(xiàn)自定義功能:
首先頁面中要加入js監(jiān)聽事件
<SCRIPT language=javascript event=NotifyToolBarClick(iIndex) for=WebOffice1>
<!--
WebOffice1_NotifyToolBarClick(iIndex);
//-->
</SCRIPT>

function WebOffice1_NotifyToolBarClick(iIndex){
if(iIndex>=32776){
alert(iIndex+"新加按鈕觸發(fā)的事件可在這里寫自己的功能");
}

}
您沒有權(quán)限查看這個(gè)主題的附件。
hangel
 
帖子: 10
注冊: 2010-07-12 10:39
頁首

WebOffice開發(fā)系列08-文件上傳到服務(wù)器

帖子hangel » 2010-07-12 11:43

文件上傳到服務(wù)器,目前WebOffice支持四種模式:
1. WebOffice 內(nèi)部發(fā)起HTTP協(xié)議的發(fā)送,采用Post模式。(詳細(xì)的說明,可以參照開發(fā)文檔)

WebOffice控件使用了自身的文件Http上傳接口實(shí)現(xiàn)文件和表單域的上傳保存,本文將簡要介紹該上傳方式的原理和使用方法。注:點(diǎn)聚WebOffice的上傳接口和AIP是一致的。
原理
因?yàn)閃eb頁面上的WebOffice打開的文件無法隨表單記錄提交到處理頁面,所以我們把文件模擬成表單的文件域<input type=file …>,通過接口把文件和表單元素發(fā)送到保存記錄的頁面(過程類似表單的提交)。
主要上傳接口:
HttpInit();該方法用于初始化上傳接口,不需要設(shè)置參數(shù)
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>
注意:如果使用點(diǎn)聚上傳接口,那么form表單里的表單域不會(huì)被提交到處理頁面。需要手工添加到上傳接口(HttpAddPostString接口),然后通過控件發(fā)送到處理頁面。例二使用了“WebForm.username.value”獲取表單域值。
HttpAddPostCurrFile(String fileName, String ReName);
添加當(dāng)前WebOffice編輯的文件給上傳接口,該接口把文件模擬到成一個(gè)表單的文件域,并提交到處理頁面。
例一:
HttpAddPostCurrFile("AipFile", "");
該接口模擬表單文件域如下:
<input type=file name=AipFile >
注意:第二個(gè)參數(shù)為空表示控件自動(dòng)為文件命名,如:dj_temp.aip,如果需要重命名可以在第二個(gè)參數(shù)指明文件名稱,也可在保存頁面指定文件名稱。
HttpPost(String url);
執(zhí)行上傳操作將文件和表單域提交到url的頁面進(jìn)行保存操作,并獲取url頁面返回的執(zhí)行結(jié)果 (是否成功,可以根據(jù)這個(gè)結(jié)果來獲取服務(wù)器端執(zhí)行的結(jié)果)。
url支持絕對(duì)路徑和相對(duì)路徑。
絕對(duì)路徑,例如:http://192.168.0.1/savedoc.asp
相對(duì)路徑要以“./”或者“../”開頭。例如:./savedoc.asp
完整的上傳接口演示
function SaveDoc() {
var returnValue; // 保存頁面的返回值
document.all.WebOffice1.HttpInit(); // 初始化Http引擎
// 添加相應(yīng)的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上傳接口將數(shù)據(jù)流以Http方式提交到保存頁面,至于對(duì)數(shù)據(jù)處理就和普通的文件上傳處理一樣了
---------------------------------------------JSP上傳代碼-------------------------------------------------------------
上傳按鈕的onclick事件里內(nèi)容:
var webObj=document.getElementById("WebOffice1");

webObj.HttpInit();
webObj.HttpAddPostCurrFile("FileBlody");//上傳當(dāng)前文件
webObj.HttpAddPostString("name",name);//可以通過我們的控件將一些需要傳到服務(wù)器的其他內(nèi)容隨文檔一起上傳
returnValue = webObj.HttpPost("http://127.0.0.1:8080/TestWebOffice/saveDoc.jsp");

if("ok" == returnValue){
alert("上傳成功!");
}else if("failed" == returnValue){
alert("上傳失敗!");
}

接收頁面saveDoc.jsp使用了上傳組件SmartUpload
<%@ page contentType="text/html;charset=GB2312" %><jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />

<%
try{
// 初始化上傳組件
mySmartUpload.initialize(pageContext);

mySmartUpload.upload();

String FilePath;
com.jspsmart.upload.File myFile = null;
myFile = mySmartUpload.getFiles().getFile(0);
FilePath = myFile.getFileName();
//System.out.println(FilePath);
if (!myFile.isMissing()){
myFile.saveAs("upload/"+FilePath,mySmartUpload.SAVE_VIRTUAL);
}
out.clear();
out.print("ok");
out.flush();
}catch(Exception e){
out.clear();
out.print("failed");//返回控件HttpPost()方法值。
out.flush();

}%>
---------------------------------------------JSP上傳代碼 END-------------------------------------------------------------
2. 通過AJAX上傳二進(jìn)制數(shù)據(jù)
原理:
AJAX負(fù)責(zé)上傳數(shù)據(jù)。
WebOffice負(fù)責(zé)把組織待上傳的數(shù)據(jù)。
------------------------------例子------------------------------------------------------------------------------------------
//創(chuàng)建AJAX對(duì)象
function createXMLHttpRequest(){
var xmlHttp = null;
if (window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
}else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest()
};
return xmlHttp
};
//發(fā)送數(shù)據(jù)
function Send2(){
var xmlHttp = this.createXMLHttpRequest();
var webObj=document.getElementById("WebOffice1");
webObj.HttpInit(); //初始化Http引擎
// 添加相應(yīng)的Post元素
webObj.HttpAddPostString("id", "0");
webObj.HttpAddPostString("DocTitle", "Test001");
webObj.HttpAddPostString("DocID", "Test001");
webObj.HttpAddPostString("DocType","doc");
webObj.HttpAddPostCurrFile("DocContent","");
//設(shè)置接受數(shù)據(jù)的頁面。采用同步發(fā)送機(jī)制。
xmlHttp.open("POST", "http://192.168.1.1/WebOffice/savedoc.jsp?time=隨機(jī)數(shù)生成的時(shí)間,防止IE緩存", false);
//打包待上傳的數(shù)據(jù)流
var vv = document.all.WebOffice1.GetHttpPostFormatData(1);
//發(fā)送數(shù)據(jù)
xmlHttp.setRequestHeader("Content-Type","multipart/form-data; boundary=--MULTI-PARTS-FORM-DATA-BOUNDARY");
xmlHttp.send(vv);
//判斷接受數(shù)據(jù)
if (xmlHttp.status == 200){
if (!xmlHttp.responseText){
};
alert(xmlHttp.responseText);
}
alert(xmlHttp.status);
};
------------------------------例子 END------------------------------------------------------------------------------------------
3. WebOffice負(fù)責(zé)把文件生成為字符串
原理:
通過接口:GetFileBase64 把二進(jìn)制文件生成為字符串。通過SaveBinaryFileFromBase64把字符串還原為二進(jìn)制文件。
適用于 B/S和C/S模式。
--------------------保存字符串到數(shù)據(jù)庫中-------------------------------
var v = document.all.WebOffice1.GetFileBase64("d:\\Server.dmp",1);
//把字符串賦值給隱藏域"FileData"
document.all.FileData.value = v;
//submit 就可以了。
----------------------打開字符串文件------------------------------------
//獲取臨時(shí)文件名
var vTempFile = document.all.WebOffice1.GetTempFilePath();
//把字符串保存為臨時(shí)文件
var vBase64 = "<%=FileData%>"
document.all.WebOffice1.SaveBinaryFileFromBase64(vTempFile ,vBase64 );
//調(diào)用接口,打開文件即可

4. WebOffice返回文件的數(shù)據(jù)流,調(diào)用程序負(fù)責(zé)傳遞數(shù)據(jù),一般用于C/S開發(fā)模式
VARIANT GetFileBinary(LPCTSTR strFilePath)
hangel
 
帖子: 10
注冊: 2010-07-12 10:39
頁首

WebOffice開發(fā)09-其他功能

帖子hangel » 2010-07-12 11:44

Weboffice具有全屏顯示的功能,單擊“全屏”,word文檔會(huì)全屏顯示在屏幕上,單擊右上角的“返回”則可以返回原來的模式,如下圖所示:
10042915429102f0ccbf84212d.jpg


Weboffice支持VBA編程,在使用js調(diào)用weboffice的接口獲取VBA對(duì)象,同過VBA對(duì)象可以使用VBA編程對(duì)word文檔進(jìn)行編輯,具體的操作如下:
var obj=document.getElementById(“webOffice1”).GetDocumentObject();
使用obj就可用調(diào)用word的VBA接口,從而對(duì)word進(jìn)行操作。 

該文章在 2015/6/2 22:44:09 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved