使用 Atom 馈送和 HTML 段落获取范围

本主题介绍了使用 Excel Services REST API 访问区域的两种方式,即 Atom 馈送和 HTML 代码片段。

注意

Excel Services REST API 适用于本地 SharePoint 和 SharePoint 2016。 对于 Office 365 教育版、商业版和企业版帐户,请使用属于 Microsoft Graph 终结点的 Excel REST API。

访问区域

Excel Services 中的 REST API 支持两种获取范围的机制。 第一种主要用于使应用程序获取工作簿的原始数据,即工作簿中的原始数字或值。 第二种用于从浏览器内部获取 HTML 片段。

Excel Services REST API 中的发现 主题中所述,使用发现的模型页面的 REST URL 为:


http://<ServerName>/_vti_bin/ExcelRest.aspx/<DocumentLibrary>/<FileName>/model

因此,对于保存到 http://<ServerName>/Docs/Documents/sampleWorkbook.xlsx 且文件名为 sampleWorkbook.xlsx 的工作簿,模型页面的 URI 如下:

http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model

使用 Excel Services REST API 中的发现中所述的发现机制,如果在服务器上的模型页上单击“ 范围 Atom 源”, ( http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model) ,则会显示一个页面,其中显示了工作簿中的所有命名区域。 sampleWorkbook.xlsx 包含一个已命名区域 SampleNamedRange,如以下屏幕截图所示:

重要

也可以指定任意区域,而不仅仅是通过发现返回的区域。 必须将冒号“:”替换为“|”。 例如,使用“A1|G5”,而不是“A1:G5”。

注意

不支持“?”和“#”等字符。 为了能够正确引用包含特殊字符的工作表名称,基本准则是在引用包含特殊字符的工作表的公式时,“查看 Excel 客户端执行的操作”并遵循此示例。

Excel Services REST 已命名区域发现

发现 Excel Services REST 已命名范围

使用 Atom 馈送访问范围

如果您在范围发现页面单击"SampleNamedRange",您将导航到以下 URL:

http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=atom

请注意,在 Internet Explorer 中,生成的页面看起来像是一个错误,如以下屏幕截图中所示。

使用 Atom 发现 Excel Services REST 范围

使用 Atom 发现 Excel Services REST 范围

Internet Explorer 无法显示单个条目的 Atom 馈送项目。 但是查看页面的源代码将显示馈送项目包含的 XML:

<?xml version="1.0" encoding="utf-8"?>
<entry xmlns:x="http://schemas.microsoft.com/office/2008/07/excelservices/rest" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservice" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title type="text">SampleNamedRange</title>
  <id>http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')</id>
  <updated>2010-01-20T21:28:10Z</updated>
  <author>
    <name />
  </author>
  <link rel="self" href="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=atom" title="SampleNamedRange" />
  <category term="ExcelServices.Range" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
  <content type="application/xml">
    <x:range name="SampleNamedRange">
      <x:row>
        <x:c>
          <x:fv>Performance</x:fv>
        </x:c>
        <x:c>
          <x:v>26</x:v>
          <x:fv>26</x:fv>
        </x:c>
        <x:c />
      </x:row>
      <x:row>
        <x:c>
          <x:fv>Employment</x:fv>
        </x:c>
        <x:c>
          <x:v>42</x:v>
          <x:fv>42</x:fv>
        </x:c>
        <x:c />
      </x:row>
      <x:row>
        <x:c>
          <x:fv>Earnings And Job Quality</x:fv>
        </x:c>
        <x:c>
          <x:v>22</x:v>
          <x:fv>22</x:fv>
        </x:c>
        <x:c />
      </x:row>
    ... XML truncated for brevity. 
      <x:row>
        <x:c>
          <x:fv>Innovation Assets</x:fv>
        </x:c>
        <x:c>
          <x:v>43</x:v>
          <x:fv>43</x:fv>
        </x:c>
        <x:c />
      </x:row>
      <x:row>
        <x:c />
        <x:c>
          <x:fv>State</x:fv>
        </x:c>
        <x:c />
      </x:row>
    </x:range>
  </content>
</entry>

馈送项目包含表示范围内数据的 XML。 下面是相关的 XML 元素:

  • <range> range Range 元素。 表示返回的范围的容器。

  • <row> 行 行元素。 表示范围中的每一行。

  • <c> 单元格元素。 表示行中的每个单元格。

  • <fv> 格式化的值元素。 表示 Excel 格式化的值。 如果值的类型为工作簿中的字符串,则带格式的值元素是 c> 下<的唯一元素。

  • <v> 值元素。 表示数值。 如果单元格中的值为数字而不是字符串,值元素将包含该信息。

使用 XML 是从 Excel 范围中获取数据的一种更简单的方式,因此您可以将其用于您的应用程序中。

使用 HTML 访问区域

如果查看 URL 以使用 Atom 源访问命名区域,请注意,URL 的最后部分包含一个名为 $format的参数,该参数设置为 atom。 此参数还可以采用 的值 html。 如果将值更改为 atomhtml,URL 将返回 HTML 片段而不是 Atom 源。 下面是一个 URL 示例:


http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=html

在 Internet Explorer 中,页面如下图所示。

注意

此 HTML 可以直接用于 IFRAME,也可以用于JavaScript,以提供更顺畅的体验。

Excel Services REST 发现使用 HTML 获取区域

另请参阅

概念

Excel Services REST API 的资源 URI