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的返回值内。
新闻热点
疑难解答