Atom フィードと HTML フラグメントを使用して範囲を取得する

最終更新日: 2010年4月14日

適用対象: SharePoint Server 2010

このトピックでは、Excel Services の REST API を使用して、範囲にアクセスする 2 つの方法 (ATOM フィードと HTML フラグメント) について説明します。

範囲にアクセスする

Excel Services の REST API では、範囲を取得するための 2 つのメカニズムがサポートされます。1 つ目のメカニズムは、主に、ブックの生データ、つまり、ワークシートの生の数字または値にアプリケーションがアクセスできるように使用されます。2 つ目は、ブラウザー内部から 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 の検出」で説明されている検出メカニズムを使用すると、サーバー (http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model) のモデル ページで [範囲] Atom フィードをクリックした場合に、ブック内のすべての名前付き範囲を表示するページが表示されます。以下の画面ショットに示されているように、sampleWorkbook.xlsx には 1 つの名前付き範囲である [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="https://schemas.microsoft.com/office/2008/07/excelservices/rest" xmlns:d="https://schemas.microsoft.com/ado/2007/08/dataservice" xmlns:m="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title type="text">SampleNamedRange</title>
  <id>https://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="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=atom" title="SampleNamedRange" />
  <category term="ExcelServices.Range" scheme="https://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>  範囲要素。返される範囲のコンテナーを表します。

  • <row>  行要素。範囲内の各行を表します。

  • <c>  セル要素。行内の各セルを表します。

  • <fv>  書式設定された値の要素。Excel で書式設定されるように値を表します。ブック内で値の型が文字列の場合、<c> の下にある要素は、書式設定された値の要素のみです。

  • <v>  値要素。数字値を表します。セル内の値が文字列ではなく数字の場合、値要素にその情報が含まれます。

XML を使用すると、Excel 範囲からデータを簡単に取得でき、そのデータをアプリケーションで使用できます。

HTML を使用して範囲にアクセスする

Atom フィードを使用して名前付き範囲にアクセスするための URL を調べると、URL の最後の部分に、atom に設定されている $format と呼ばれるパラメーターが含まれていることがわかります。このパラメーターは、html の値を取ることもできます。atom の値を html に変更すると、URL は、Atom フィードではなく HTML フラグメントを返します。URL の例は次のとおりです。

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

Internet Explorer では、次のようなページが表示されます。

注意

この HTML は、IFRAME 内で直接使用できます。また、ECMAScript (JavaScript、JScript) 内で使用して、よりシームレスな操作環境を作成できます。

Excel Services REST 検出による HTML を使用した範囲取得

関連項目

概念

Excel Services REST API のためのリソース URI