Excel Services 中的 REST API 是 Microsoft SharePoint Server 2010 的新增项。利用 REST API,可通过 URL 直接访问工作簿部件或元素。

一、REST 服务基于两个要求:

用于定位网络资源的寻址方案

用于返回这些资源的表示形式的方法

二、REST URL基本URI的三个组成部分是:

REST aspx 页 URI:http://<ServerName>/_vti_bin/ExcelRest.aspx

工作簿位置:/Docs/Documents/sampleWorkbook.xlsx

资源位置:/model/Ranges(‘nameOfTheNamedRange’)

三、API简单应用及示例:

1、单元格展示:

例:http://URL/_vti_bin/ExcelRest.aspx/DocLib1/ExcelTest.xlsx/model/Ranges(‘A1’)

SharePoint  Excel Services REST API介绍

附:完整的Excel

SharePoint  Excel Services REST API介绍

2、图表展示

例:特别说明 %E5%9B%BE%E8%A1%A8%201==图表 1的意思,经过Url编码

http://URL/_vti_bin/ExcelRest.aspx/DocLib1/ExcelTest.xlsx/Model/Charts(‘%E5%9B%BE%E8%A1%A8%201’)

SharePoint  Excel Services REST API介绍

附:原来的Excel截屏

SharePoint  Excel Services REST API介绍

3、单元格范围展示(Excel如上图,范围选择不会展示出图表)

例:http://URL/_vti_bin/ExcelRest.aspx/DocLib1/ExcelTest.xlsx/Model/Ranges(‘A1|M5’)

特:Sheet2!A1%7CM5,标下划线部分,可以选择工作表,半角感叹号分隔;

SharePoint  Excel Services REST API介绍

4、单元格范围展示并设置一个单元格的值

例:(原Excel如上面Excel所示)http://URL/_vti_bin/ExcelRest.aspx/DocLib1/ExcelTest.xlsx/Model/Ranges(‘Sheet2!A1%7CN5’)?Ranges(‘Sheet2!N2’)=88&Ranges(‘Sheet2!N3’)=98

SharePoint  Excel Services REST API介绍

四、返回atomXML格式

  通过返回的XML文件,我们可以在代码中进行下一步的Coding,可以基于一个发布的Excel文件进行统计、展示等。

例:($format=atom参数)

http://URL/_vti_bin/ExcelRest.aspx/DocLib1/ExcelTest.xlsx/Model/Ranges(‘Sheet2!A1%7CN5’)?Ranges(‘Sheet2!N2’)=88&Ranges(‘Sheet2!N3’)=98&$format=atom

SharePoint  Excel Services REST API介绍

右键查看源文件:

SharePoint  Excel Services REST API介绍

特:由于完整的XML代码所占篇幅太多,所以只截取当前屏幕,敬请见谅!

五、Excel Services REST API 中不受支持的功能

  以下是 Excel Services REST API 中当前不支持或未使用的多个重要功能的部分列表:

· 无浮动图。如果一个范围包含图,并且您通过 REST 请求该范围,则只会获取该范围。

· 无迷你图,无图标条件格式。当前不受支持。

· 无像素(理想 EWA)。REST 生成的 HTML 与 Excel Web Access 生成的 HTML 很相似。但 Excel Services REST API 无法访问 Excel Web Access 可访问的所有级联样式表 (CSS) 元素。Excel Services REST API 返回一个 HTML 片段。此 HTML 片段必须是自包含的。

· 表中不存在差异。当以 Atom 的形式请求表以查看单元格或数据是列标题、总计还是常规数据时,表中不会产生任何差异。也就是说,不存在指定单元格或数据是标题、总计还是常规数据的差异。将平等对待表中的所有表单元格。

· URL 大小限制。URL 大小将限制在约 2000 个字符。这意味着,如果工作簿中有大量参数,则可能无法设置所有参数。特别是在工作簿位于文件夹结构的较低位置时会出现此情况。

· 特殊字符。不支持如“?”和“#”这样的字符。若要正确引用包含特殊字符的工作表名称,则向带特殊字符的工作表引用公式时,基本原则是“了解 Excel 客户端执行什么操作”,并遵循相应示例。

结束语:

  本文为参考MSDN的sdk文档,做的简单示例,如有疑问请参考附后的参考文献;对于Excel Services REST API了解了一下,推翻了以前认为Excel Services只能Web展示的印象,其实还可以基于这个功能,简单开发一些新的应用。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注