1. 程式人生 > >線上編輯Word,Excel (WebOffice)

線上編輯Word,Excel (WebOffice)

[b]1.前言[/b]
很多時候會用到線上編輯儲存Word,Excel,這時我們需要用到WebOffice。原始碼到[url]www.dsoframer.com[/url],註冊後即可下載,完全免費使用。已包含在附件中。

1.1 載入控制元件
因為用到了Active控制元件,所以只能在IE下使用,在火狐下會報錯。使用時,需要將LoadWebOffice.js,weboffice_v6.0.5.0.cab放在指定的目錄下,然後在頁面中載入控制元件,如下:
載入控制元件,利用<SCRIPT src="LoadWebOffice.js"></SCRIPT>,載入的具體內容如下:
var s = ""
s += "<object id=WebOffice1 height=768 width='100%' style='LEFT: 0px; TOP: 0px' classid='clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5' codebase='weboffice_v6.0.5.0.cab#Version=6,0,5,0'>"
s +="<param name='_ExtentX' value='6350'><param name='_ExtentY' value='6350'>"
s +="</OBJECT>"
document.write(s)

以上內容目的就是利用LoadWebOffice.js載入weboffice_v6.0.5.0.cab(Active控制元件)。

1.2 規範說明程式碼
WebOffice的早期版本,如果使用了<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 這個規範說明程式碼,否則的話死活也不會顯示 控制元件區域,不過最新版本沒有這個問題,經測試利用
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

都不會出現控制元件無法載入的問題。

[b]2.使用[/b]
2.1 新建文件
//新建Word
document.all.FramerControl1.CreateNew("Word.Document");
//新建Excel
document.all.FramerControl1.CreateNew("Excel.Sheet");


2.2 開啟文件
//開啟制定的本地檔案
document.all.FramerControl1.Open("C:\\TestBook.xls");
//制定用Word來開啟c:\plain.txt檔案
document.all.FramerControl1.Open("C:\\Plain.txt",false, "Word.Document");
//開啟伺服器的檔案
document.all.FramerControl1.Open "https://secureserver/test/mytest.asp?id=123",true, "Excel.Sheet", "MyUserAccount", "MyPassword");
//開啟伺服器的檔案
document.all.FramerControl1.Open("http://localhost/1.doc", true);


2.3 儲存文件
//儲存到本地
document.all.FramerControl1.Save("c:\\1.doc",true);
//儲存到伺服器
//初始化Http引擎
document.all.FramerControl1.HttpInit();
//增加Post變數
document.all.FramerControl1.HttpAddPostString("RecordID","20060102200");
document.all.FramerControl1.HttpAddPostString("UserID","李局長");
//上傳開啟的檔案
document.all.FramerControl1.HttpAddPostCurrFile("FileData", "文件名.doc");
//執行上傳動作
document.all.FramerControl1.HttpPost("http://xxxx.com/uploadfile.asp");


2.4 綜合操作
更多具體的操作,大家可以去附件[b]weboffice_v6.0.5.zip[/b] 中,找到main.js,然後裡面有詳細的操作方法。
//進入留痕狀態
document.all.FramerControl1.SetTrackRevisions(1);
//進入非留痕狀態
document.all.FramerControl1.SetTrackRevisions(0);
//接受當前修訂
document.all.FramerControl1.SetTrackRevisions(4);

//設定當前使用者
document.all.FramerControl1.SetCurrUserName("張三");
//設定當前時間
document.all.FramerControl1.SetCurrTime("2006:02:07 11:11:11");
//在當前WORD位置插入標籤,標籤名為"book1",數值為"test"
document.all.FramerControl1.SetFieldValue("book1","test","::ADDMARK::");
//設定書籤"Time",數值為"2006-03-16 22:22:22"
document.all.FramerControl1.SetFieldValue("Time","2006-03-16 22:22:22","");
//在書籤位置"hongtou",插入紅標頭檔案"http://222.222.222.222/hongtou1.doc" 這樣,紅頭就自動插進去了
document.all.FramerControl1.SetFieldValue("hongtou","http://222.222.222.222/hongtou1.doc","::FILE::");

//只有“新建”選單可用
document.all.FramerControl1.SetMenuDisplay(1);
//只有“開啟”選單可用
document.all.FramerControl1.SetMenuDisplay(2);
//只有“開啟”和“新建”選單可用
document.all.FramerControl1.SetMenuDisplay(3);

//完全保護文件,密碼為"pwd"
document.all.FramerControl1.ProtectDoc(1,1,"pwd");
//解除文件保護
document.all.FramerControl1.ProtectDoc(0,1,"pwd");

//顯示修訂留痕
document.all.FramerControl1.ShowRevisions(1);
//隱藏修訂留痕
document.all.FramerControl1.ShowRevisions(0);

//檔案頭部插入檔案
document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",1);
//檔案尾部插入檔案
document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",2);
//當前游標位置插入檔案
document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",0);

//檔案頭部插入圖片
document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",9);
//檔案尾部插入圖片
document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",10);
//當前游標位置插入圖片
document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",8);

//大綱模式
document.all.FramerControl1.ShowView(5);

//設定檔案只讀密碼
document.all.FramerControl1.SetValue("password","::DOCPROP:PassWord");
//設定檔案修改密碼
document.all.FramerControl1.SetValue("password","::DOCPROP:WritePW");


[b]3.例子。[/b]
附件是一個具體的例子。解壓縮後直接用ie開啟index.html即可。

文章地址:[url]http://javapub.iteye.com/blog/729634[/url]