Excel服务在SharePoint 2010的REST API语法介绍
时间:2009-11-06 14:34:20
作者:officeba 【认证】
前面我们介绍过Excel2010引入PowerPivot,今天来介绍
Excel服务在SharePoint 2010的REST API语法
正如我们在前面看到后,使用Excel服务REST的API就是这么简单指定的URI(统一资源标识符在您的网络浏览器)。在这个后,我们将步行通过URI语法的细节。
我们开始了一个简单的Excel工作簿2010年在SharePoint服务器上存储在以下网址:
http://contoso/Finance/Shared%20Documents/Tax.xlsx
这个例子工作簿包含两个命名区域,图表,表和数据透视表。
为了创建一个可以用来访问REST的API,我们插入_vti_bin的URI / ExcelRest.aspx /在后面的(在这种情况下/财务)土地的一部分上述网址。
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx
发现在工作簿项目
接下来,我们添加/后面的文件名(在这种情况下/ Tax.xlsx模型)
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model
我们现在有一个可以用来发现工作簿中的项目-对REST API返回一个Atom饲料,其中包含可访问项目类型-目前范围,图表,表和数据透视表的URI支持。
注意:在工作簿的情况下驻留那你就会插入/ ExcelRest.aspx /服务器名称后面了_vti_bin在SharePoint服务器根站点。
http://contoso/Shared%20Documents/Tax.xlsx
变成...
http://contoso/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model
检索工作簿中的邮件
我们可以简单的通过附加一个工作簿中的命名范围列表/范围上一个URI或您可以单击因为这是在前面的示例返回范围的链接。
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Ranges
在REST的API返回一个Atom供稿包含在工作簿中的命名区域-此工作簿包含两个命名范围:TaxRate和收入。
我们也可以也可以通过指定的范围内使用/范围('区域名称'),并加入?$ =的HTML格式的一个范围内的HTML表示。
为了获取收入的名称的范围,我们指定以下的URI HTML表示:
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Ranges('收入')?$ =的HTML格式
发现和访问表,数据透视表和图表类似发现和访问的范围如上所示。
表:
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Tables
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Tables('RevenueTable')?$ =的HTML格式
数据透视表:
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/PivotTables
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/PivotTables('透视')?$ =的HTML格式
图表:
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts
http://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格式,如果是这样的格式,你想退回。
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')
相当于
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?$格式=形象
这两个URI的返回PNG格式的图像。
下面是一个矩阵,显示了REST的API要求不同类型的支持的格式。指定?$格式= ...让您覆盖与其他支持格式默认返回格式。
什么是正常范围?
上面的例子表明如何访问一个命名范围。它也可以访问任意的,非命名,使用范围A1样式符号。下面的URI的说明它是如何访问单细胞范围和多个单元格区域进行。
要获得一个单元格A1的Sheet1上的内容的HTML表示:
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Ranges('工作表Sheet 1!A1的)?$ =的HTML格式
为了了解对区域A1内容的HTML表示:个人财产在Sheet2:
http://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%。
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')
在原始图表结果被返回
改变税率50%在工作簿中加入?范围('TaxRate')= 0.50
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('TaxRate')= 0.50
在一个更新的图表结果被返回:
我们还可以用A1样式符号来指定要更改单元格('TaxRate'有A1样式地址'Sheet1的!乙)
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('工作表Sheet 1!乙')= 0.50
它也可以设置成不同的细胞多个值。额外的查询字符串参数的分隔符号和字符。
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('TaxRate')= 0.50&范围('FiscalYear')= 2008
你也可以结合起来,指定返回格式这一点-的查询字符串参数的顺序并不重要。例如:
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('TaxRate')= 0.50&范围('FiscalYear')= 2008&$格式=的HTML
和
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?范围('FiscalYear')= 2008&$格式= HTML和范围('TaxRate')= 0.50
和
http://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts('RevenueChart')?$格式= HTML和范围('FiscalYear')= 2008&范围('TaxRate')= 0.50
都是等价的,并返回相同的结果。
更多的惊喜
通过到此结束了REST API语法我们走。您现在应该有足够的知识,开始建立基于REST的Excel服务解决方案。在我的下后我会展示一些简单的场景,可以快速构建自己。