Excel Web Services(以后簡稱EWS)位于整個Excel Services的前端(可以參考我之前的文章)。它提供了開發Excel的接口。從名字可以看出,EWS也屬于WebService的一種,所以我們可以像使用普通的WebService那樣使用它。要想調用EWS,先要知道它的地址,這取決于MOSS的設置。假如MOSS的名稱為ServerName,那么對應的EWS地址就是: http://<server name>/_vti_bin/ExcelService.asmx .在瀏覽器中輸入EWS地址后您會看到下圖:
話不多說,現在進入今天的主題,我將通過一個程序為您演示如何使用EWS.
本次程序依然會使用上一篇文章里創建的Excel文檔。程序運行后首先讀取SharePoint Server上的Excel工作薄,將A1至B3的單元格內容顯示到程序界面;也可以修改文本框中的內容,然后點擊“計算”按鈕,對應的標簽會顯示更新結果;或者點擊保存,將服務器上的Excel工作薄保存到本地。
現在開始創建應用程序。首先建立一個名為ExcelWebServcice的Windows應用程序,將剛才EWS引用到程序里,將命名空間改為ExcelWebServcice
添加完引用以后就可以使用該服務了。
整個程序分為3部分:
1、取值 ;
2、賦值 ;
3、保存 。
1.取值 :
將EWS添加到工程后,可以看見ExcelWebService命名空間下出現了ExcelService類。通過操作它就可以完成與服務器端的交互。
首先將其實例化
ExcelService es=new ExcelService();
在調用ExcelService前必須為其指定憑證(Credential),否則應用程序會拋出異常。憑證可以是默認憑證或使用指定了用戶名/密碼的憑證,這里我們使用默認憑證。兩者的區別將在后文討論。
es.Credentials = System.Net.CredentialCache.DefaultCredentials;
es.Credentials = new System.Net.NetworkCredential("userName", "password","domain");
設置憑證以后我們執行OpenWorkbook,該方法的函數聲明如下:
string ExcelService.OpenWorkbook(string workbookPath, string cultrueInfo,string cultrueInfo,string out status)
OpenWorkbook用于打開Excel,workbookPath表示文件在服務器中的地址。cultureInfo,cultureInfo是區域信息,這里我們填寫”zh-cn”(代表中文)。最后一個參數有點特殊,是個Status類型的數組,用于存儲錯誤信息。在執行ExcelService的方法時可能會發生錯誤。嚴重的錯誤會引起程序崩潰,而輕微的錯誤并不影響程序的運行,系統會將錯誤信息儲存在Status類型的數組中。值得注意的是ExcelService類中的所有方法都涉及了該參數。
最后介紹一下該方法的返回值:執行Openworkbook后,Excel Calculation Server會產生一個會話。會話編號就存儲在OpenWorkbook的返回值內。
新聞熱點
疑難解答