使用 Excel Services 2010 REST API
SharePoint 2010 中的 Web 开发入门:了解如何使用 Excel Services REST API 访问项,并使用电子表格中的数据。
上次修改时间: 2011年1月27日
适用范围: Excel Services | Office 2010 | SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio 2010
本文内容
发现工作簿中的项
以不同格式检索各种项目
更改数据值
后续步骤
Excel Services 2010 REST API 是一个新的可编程性框架,利用该框架,可以在电子表格中轻松发现数据和对象以及访问这些对象。如果您可以编写 URL,则可使用 REST API。这样非开发人员可以访问 REST API,但还提供了适用于专业开发人员的功能,从而使其成为非常强大的工具。在此方案中,您将看到有关使用 REST API 访问对象和使用 SharePoint 2010 网站上工作簿中的数据的几个示例。若要完成此方案,请执行以下操作:
发现工作簿中的项
以不同格式检索各种项目
更改数据值
此方案假定有一个名为 Sales_Report.xlsx 的工作簿保存在 SharePoint 2010 网站的文档库中。该工作簿包含两个区域、一个图表、一个表和一个数据透视表。
发现工作簿中的项
在该任务中,您将使用 REST API 发现示例工作簿中的各种对象。假定该工作簿位于 http://myserver/mywebsite/shared%20documents/Sales_Report.xlsx。
发现工作簿中的项
在浏览器中打开包含工作簿的网站。
在浏览器地址框中的 URL 中,将 _vti_bin/ExcelRest.aspx/ 添加到网站名称后,以使 URL 类似以下示例。
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx
在工作簿名称后,添加单词 Model。该 URL 应如下例所示。
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model
按 Enter。片刻后,浏览器将返回一个页面,该页面类似于图 1 中 ATOM 源格式的页面。
图 1. REST API 返回此网页
现在,此 REST API 可访问区域、图表、表和数据透视表。此 REST API 将返回采用以下格式的项:
图像
HTML
ATOM 源
Excel 工作簿
以不同格式检索各种项目
在该任务中,您将使用 REST API 表示法编写 URL,以便返回各种项目。您可以在网页、博客、Wiki 中使用返回的项目;以链接 图像的形式将实时图表嵌入 Word 2010 文档、PowerPoint 2010 演示文稿或 Outlook 2010 邮件中;创建使用 Excel Services 进行计算、绘图以及作为数据源的混合 Web 应用程序。
从工作簿检索项目
打开 Web 浏览器,并在地址框中,键入以下 URL,然后按 Enter。
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Ranges
您将看到如图 2 所示的网页。请注意,已显示四个命名区域的名称。
图 2. 区域列表
在浏览器的地址框中,将以下内容追加到 URL 的单词 Ranges 后,然后按 Enter。这样会将 RegionalSalesSummary 区域数据显示为 HTML(参阅图 3)。
('RegionalSalesSummary')?$format=HTML
图 3. 区域销售摘要数据
发现并访问图表和表相当简单。在浏览器中键入以下 URL,然后观察 ResellerSalesChart 图表如何显示为图像(参阅图 4)。
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Sales%20Reports/Sales_Report.xlsx/Model/Charts('ResellerSalesChart')?$format=image
图 4. ResellersSalesChart 图表
除命名区域以外,还可以返回常规区域。以下 URL 可以返回 Sheet2 上 A1 到 D4 的区域。
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Ranges(‘Sheet2!A1|D4’)?$format=HTML
请注意,您需要将区域中 A1 样式表示法中的冒号替换为竖线字符。
更改数据值
REST API 提供了在工作簿中更改值的方式。这些更改仅影响 REST API 针对该特定请求返回的值、HTML 呈现信息或图表。这些更改不会保存回工作簿,也不会影响其他 REST API 或 Excel Web Access 浏览器会话。在该任务中,您将编写一个 URL,从而将零售连锁店经销商类型的销售数据从 $167,690 更改为 $0,以便查看对经销商销售额图表产生的影响。在更改之前,该图表(和零售连锁店值)如图 5 所示。
图 5. 更改之前的经销商销售额图表
在图表中更改数据值
在浏览器中将 URL 更改为以下内容,按 Enter,然后观察图 6 中零售连锁店值的变化。
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Charts('ResellerSalesChart')?Ranges(‘Sheet2!D7')=0.0
图 6. 更改之后的经销商销售额图表
您还可以使用以下 URL 将值放入不同单元格。
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Charts('ResellersSalesChart')?Ranges(‘Sheet2!D7')=0.0&Ranges('FiscalYear')=2011
此外,您可以分别使用以下 URL 将值放入不同单元格,并为每个值或两个值指定格式
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Charts('ResellerSalesChart')?Ranges(‘Sheet2!D7')=0.0&Ranges('FiscalYear')=2011?$format=HTML
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Charts('ResellerSalesChart')?Ranges(‘Sheet2!D7')=0.0&?format=HTML&Ranges('FiscalYear')=2011
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Charts('ResellerSalesChart')?$format=HTML&Ranges(‘Sheet2!D7')=0.0&Ranges('FiscalYear')=2011