使用 Excel Services 2010 REST API

SharePoint 快速入门横幅
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。

发现工作簿中的项

  1. 在浏览器中打开包含工作簿的网站。

  2. 在浏览器地址框中的 URL 中,将 _vti_bin/ExcelRest.aspx/ 添加到网站名称后,以使 URL 类似以下示例。

    http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx

  3. 在工作簿名称后,添加单词 Model。该 URL 应如下例所示。

    http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model

  4. 按 Enter。片刻后,浏览器将返回一个页面,该页面类似于图 1 中 ATOM 源格式的页面。

    图 1. REST API 返回此网页

    REST API 返回此网页

现在,此 REST API 可访问区域、图表、表和数据透视表。此 REST API 将返回采用以下格式的项:

  • 图像

  • HTML

  • ATOM 源

  • Excel 工作簿

以不同格式检索各种项目

在该任务中,您将使用 REST API 表示法编写 URL,以便返回各种项目。您可以在网页、博客、Wiki 中使用返回的项目;以链接 图像的形式将实时图表嵌入 Word 2010 文档、PowerPoint 2010 演示文稿或 Outlook 2010 邮件中;创建使用 Excel Services 进行计算、绘图以及作为数据源的混合 Web 应用程序。

从工作簿检索项目

  1. 打开 Web 浏览器,并在地址框中,键入以下 URL,然后按 Enter。

    http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Ranges

    您将看到如图 2 所示的网页。请注意,已显示四个命名区域的名称。

    图 2. 区域列表

    范围列表

  2. 在浏览器的地址框中,将以下内容追加到 URL 的单词 Ranges 后,然后按 Enter。这样会将 RegionalSalesSummary 区域数据显示为 HTML(参阅图 3)。

    ('RegionalSalesSummary')?$format=HTML

    图 3. 区域销售摘要数据

    区域销售摘要数据

  3. 发现并访问图表和表相当简单。在浏览器中键入以下 URL,然后观察 ResellerSalesChart 图表如何显示为图像(参阅图 4)。

    http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Sales%20Reports/Sales_Report.xlsx/Model/Charts('ResellerSalesChart')?$format=image

    图 4. ResellersSalesChart 图表

    ResellersSalesChart 图表

  4. 除命名区域以外,还可以返回常规区域。以下 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. 更改之前的经销商销售额图表

更改之前的经销商销售额图表

在图表中更改数据值

  1. 在浏览器中将 URL 更改为以下内容,按 Enter,然后观察图 6 中零售连锁店值的变化。

    http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Charts('ResellerSalesChart')?Ranges(‘Sheet2!D7')=0.0

    图 6. 更改之后的经销商销售额图表

    更改之后的经销商销售额图表

  2. 您还可以使用以下 URL 将值放入不同单元格。

    http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Charts('ResellersSalesChart')?Ranges(‘Sheet2!D7')=0.0&Ranges('FiscalYear')=2011

  3. 此外,您可以分别使用以下 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

后续步骤