officeba > 单独文章


Excel服务在SharePoint 2010的REST API语法介绍

前面我们介绍过Excel2010引入PowerPivot,今天来介绍
Excel服务在SharePoint 2010的REST API语法
正如我们在前面看到后,使用Excel服务REST的API就是这么简单指定的URI(统一资源标识符在您的网络浏览器)。在这个后,我们将步行通过URI语法的细节。

我们开始了一个简单的Excel工作簿2010年在SharePoint服务器上存储在以下网址:

https://contoso/Finance/Shared%20Documents/Tax.xlsx

这个例子工作簿包含两个命名区域,图表,表和数据透视表。

为了创建一个可以用来访问REST的API,我们插入_vti_bin的URI / ExcelRest.aspx /在后面的(在这种情况下/财务)土地的一部分上述网址。

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx

发现在工作簿项目
接下来,我们添加/后面的文件名(在这种情况下/ Tax.xlsx模型)

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model

我们现在有一个可以用来发现工作簿中的项目-对REST API返回一个Atom饲料,其中包含可访问项目类型-目前范围,图表,表和数据透视表的URI支持。



注意:在工作簿的情况下驻留那你就会插入/ ExcelRest.aspx /服务器名称后面了_vti_bin在SharePoint服务器根站点。

https://contoso/Shared%20Documents/Tax.xlsx

变成...

https://contoso/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model

检索工作簿中的邮件
我们可以简单的通过附加一个工作簿中的命名范围列表/范围上一个URI或您可以单击因为这是在前面的示例返回范围的链接。

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Ranges

在REST的API返回一个Atom供稿包含在工作簿中的命名区域-此工作簿包含两个命名范围:TaxRate和收入。

  

我们也可以也可以通过指定的范围内使用/范围('区域名称'),并加入?$ =的HTML格式的一个范围内的HTML表示。

为了获取收入的名称的范围,我们指定以下的URI HTML表示:

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Ranges('收入')?$ =的HTML格式

  

发现和访问表,数据透视表和图表类似发现和访问的范围如上所示。

表:

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Tables

  

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Tables('RevenueTable')?$ =的HTML格式

  

数据透视表:

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/PivotTables

  

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/PivotTables('透视')?$ =的HTML格式

  

图表:

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts

  

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?$格式=形象

  

支持REST的API返回格式
前款注意,我们添加了一个查询字符串参数的URI的地方,我们都进入实际的项目前面的例子。这个查询字符串参数用于指定格式的REST API应该回报。目前支持的格式有:

的HTML
原子
图片
工作簿
什么时候?$ =的HTML格式指定的REST API返回一个可以由Web浏览器显示的项目HTML表示。

什么时候?$格式=原子指定的REST API返回一个原子饲料的代表性项目。

什么时候?$ =图像格式指定的REST API返回一个图像文件(在这个时候始终是巴新格式)。

我将介绍?$格式=原子对REST的API的未来后返回格式。当时我们也将涉及原子之间的差别/范围,/表饲料和/数据透视表。

什么时候?= $格式的工作簿指定的REST API返回然后可以在Excel中打开或保存工作簿。工作簿的格式被返回匹配的原始文件的格式-如果原始文件英寸xlsx格式,则该工作簿将被送回英寸xlsx格式,如果原始文件英寸最低有效位格式,则该工作簿将被送回英寸最低有效位格式。相同。xlsm格式。

其中要求支持哪些格式?
并非所有的格式都支持的所有项目。此外,REST的API要求有不同的默认值。例如/图表('表名')默认返回格式的图像-这意味着你不必指定?$格式=形象的URI的一部分。同样,/范围('区域名称'),你可以省略?$ =的HTML格式,如果是这样的格式,你想退回。

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')

相当于

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?$格式=形象

这两个URI的返回PNG格式的图像。

下面是一个矩阵,显示了REST的API要求不同类型的支持的格式。指定?$格式= ...让您覆盖与其他支持格式默认返回格式。

  

什么是正常范围?
上面的例子表明如何访问一个命名范围。它也可以访问任意的,非命名,使用范围A1样式符号。下面的URI的说明它是如何访问单细胞范围和多个单元格区域进行。

要获得一个单元格A1的Sheet1上的内容的HTML表示:

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Ranges('工作表Sheet 1!A1的)?$ =的HTML格式

为了了解对区域A1内容的HTML表示:个人财产在Sheet2:

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Ranges('Sheet2的!格A1 |个人财产')?$ =的HTML格式

注意:您需要更换,在与当与REST的API使用的管道字符范围A1样式符号冒号- “范围A1:D4是为A1进入|个人财产

插入值
在Excel服务的REST API提供了一个手段,改变工作簿中的值。这些变化不仅影响的价值观,HTML呈现信息或REST的API返回该特定要求的图表。这些变化并没有保存回工作簿,也不影响其他REST的API或Excel Web Access的浏览器会话。

设置值是简单,可通过指定使用A1样式符号,或通过指定一个单细胞命名区域或单个细胞的参数进行。

在下面的例子,我们有一个叫做范围命名工作簿“税率”,目前设置为10%。

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')

在原始图表结果被返回

  

改变税率50%在工作簿中加入?范围('TaxRate')= 0.50

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('TaxRate')= 0.50

在一个更新的图表结果被返回:

  

我们还可以用A1样式符号来指定要更改单元格('TaxRate'有A1样式地址'Sheet1的!乙)

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('工作表Sheet 1!乙')= 0.50

它也可以设置成不同的细胞多个值。额外的查询字符串参数的分隔符号和字符。

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('TaxRate')= 0.50&范围('FiscalYear')= 2008

你也可以结合起来,指定返回格式这一点-的查询字符串参数的顺序并不重要。例如:

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('TaxRate')= 0.50&范围('FiscalYear')= 2008&$格式=的HTML



https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('FiscalYear')= 2008&$格式= HTML和范围('TaxRate')= 0.50



https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?$格式= HTML和范围('FiscalYear')= 2008&范围('TaxRate')= 0.50

都是等价的,并返回相同的结果。

更多的惊喜
通过到此结束了REST API语法我们走。您现在应该有足够的知识,开始建立基于REST的Excel服务解决方案。在我的下后我会展示一些简单的场景,可以快速构建自己。


声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2009-11-06 14:34:20,点击:65824


【OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

评论内容