次の方法で共有


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 サイト上のドキュメント ライブラリに保存されているものと想定しています。このブックには、2 つの範囲、1 つのグラフ、1 つのテーブル、および 1 つの PivotTable が含まれています。

ブック内のアイテムを検出する

このタスクでは、REST API を使用して、サンプル ブック内のさまざまなオブジェクトを検出します。ブックは http://myserver/mywebsite/shared%20documents/Sales_Report.xlsx にあるものとします。

ブック内のアイテムを検出するには

  1. ブックが格納されている Web サイトをブラウザーで開きます。

  2. URL が次の例と同じになるよう、ブラウザーのアドレス ボックスに入力されている URL の Web サイト名の後ろに _vti_bin/ExcelRest.aspx/ を追加します。

    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 はこの Web ページを返す

    REST API はこの Web ページを返す

現在、REST API は範囲、グラフ、テーブル、PivotTable にアクセスできます。REST API は、以下の形式でアイテムを返します。

  • イメージ

  • HTML

  • ATOM フィード

  • Excel ブック

さまざまなアイテムを異なる形式で取得する

このタスクでは、さまざまなアイテムを返す REST API 表記を使用して URL を書きます。返されたアイテムを Web ページ、ブログ、Wiki で使用したり、ライブ表示のグラフをリンクされたイメージとして Word 2010 ドキュメント、PowerPoint 2010 プレゼンテーション、または Outlook 2010 メールに埋め込んだり、Excel Services を計算、グラフ作成、およびデータ ソースとして使用するマッシュアップを作成できます。

ブックからアイテムを取得するには

  1. Web ブラウザーを開き、アドレス ボックスに以下の URL を入力して、ENTER キーを押します。

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

    図 2 に示す Web ページが表示されます。4 つの名前付き範囲の名前が表示されることに注目してください。

    図 2. 範囲の一覧

    範囲の一覧

  2. ブラウザーのアドレス ボックスで、URL の Ranges という単語のすぐ後ろに以下を追加して、ENTER キーを押します。これにより、RegionalSalesSummary 範囲データが HTML として表示されます (図 3 を参照)。

    ('RegionalSalesSummary')?$format=HTML

    図 3. RegionalSalesSummary のデータ

    地域の売り上げの概要データ

  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 は、ブック内の値を変更する手段になります。このような変更が影響を与えるのは、値、HTML レンダリング情報、または特定の要求に対して REST API が返すグラフだけです。このような変更がブックに保存されることはありません。他の REST API または Excel Web Access ブラウザー セッションに影響を与えることもありません。このタスクでは、Retail Chain リセラー タイプの売り上げデータを 167,690 ドルから 0 ドルに変更する URL を書いて、Reseller Sales Chart に及ぼす影響を調べます。変更前のグラフ (および Retail Chain の値) は図 5 のようになっています。

図 5. 変更前の Reseller Sales Chart

変更前のリセラーの売り上げグラフ

グラフのデータ値を変更するには

  1. ブラウザーの URL を以下のように変更して ENTER キーを押し、図 6 のように Retail Chain の値が変更されることを確認します。

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

    図 6. 変更後の Reseller Sales Chart

    変更後のリセラーの売り上げグラフ

  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

次の手順