Excel Services 開発ロードマップ
最終更新日: 2010年4月14日
適用対象: SharePoint Server 2010
この記事の内容
Excel Web サービス
ユーザー定義関数 (UDF)
Excel Web Access
ECMAScript (JavaScript、JScript)
REST API
Excel Services の重要な側面は、ソリューション開発者がその機能をアプリケーションからプログラムによって使用できる点です。そのアプリケーションは、組織が内部的に展開する基幹業務 (LOB) 製品またはカスタム エンタープライズ ソリューションが考えられます。
これらのアプリケーションの例を次に示します。
プレゼンテーション層が Excel Web Services を呼び出す Web アプリケーション (たとえば、ASP.NET アプリケーション) として実装されている、多層アプリケーション。
Microsoft SharePoint Server 2010 内のアプリケーション、または LOB 製品と統合されているアプリケーション。
Excel Services を使用して行うことができる開発には 5 つの種類があります。
Excel Web Services を使用してソリューションを開発する
ユーザー定義関数 (UDF) を使用して Excel Services の Microsoft Excel 関数ライブラリを拡張する
Excel Web Access Web パーツをカスタマイズする
ECMAScript (JavaScript、JScript) を使用してソリューションを開発する
REST API を使用して、Excel ブックに対する操作を実行する
Excel Web サービス
Excel Web Services の主なシナリオは次のとおりです。
Server-side Excel calculation
このシナリオはアプリケーション中心です。このシナリオでは、Excel ブックで定義され、アプリケーション ロジックの一部としてサーバーで計算されるモデルを使用します。
Automating workbook updates on the server
このシナリオはファイル中心です。このシナリオでは、Excel Web Services はブックを処理し、ブックまたはスナップショットのコピーを保存します。
Opening workbooks in edit sessions
Excel Web Services では、SharePoint Server 2010 内の編集セッションでブックを開くことができます。このシナリオでは、コードを使用してブックを編集できます。
サーバー側の Excel 計算
サーバー側の Excel 計算に対し、カスタム アプリケーションは、通常、Excel モデルをロジックの一部として使用します。Excel ブック ビジネス ロジックをプログラミング言語で再コーディングする必要がなく、ビジネス ユーザーはサーバーの場所で Excel 内のモデルを維持できます。開発者は、ビジネス ユーザーによって作成されるモデルを使用するアプリケーションでコード行を変更する必要がありません。
このシナリオで、カスタム アプリケーションは、バックエンド計算サービスに呼び出しを送信する Excel Web Services を繰り返し呼び出します。Excel Calculation Services は、次の処理を行います。
指定した Excel ブックを読み込む
入力を受信する
ブックを処理する (データの更新や計算の実行など)
結果をカスタム アプリケーションへ送信する
サーバーでのブック更新を自動化する
開発者がサーバーでの Excel ブックの更新を自動化する際、ほとんどの場合は 2 つの目的があります。
Excel ファイルを生成するか、Open XML Formats を使用して Excel テンプレートを変更し、生成された Excel ファイルを計算する。
定期的に Excel ファイルを開いて外部データを更新し (1 回、またはユーザーごとに複数回)、更新後のブックを計算して、それらを保存したり、さまざまなユーザーに電子メールで送信したりする。
このシナリオでは、カスタム アプリケーションは Excel Web Services を使用して次の処理を行います。
指定した Excel ブックを読み込む
パラメータを入力する
ブックを処理する (データの更新や計算の実行など)
カスタム アプリケーションは、ブックまたはスナップショットのライブ バージョンを取得し、Excel Web Services を使用してブックまたはスナップショットを保存します。
注意
Excel Web Services を使用して範囲に値を設定するなど、ブックに変更を加える場合、ブックへの変更は、その特定のセッションの間のみ保持されます。変更内容が元のブックに保存されることはありません。現在のブック セッションが終了すると (CloseWorkbook メソッドを呼び出す、またはセッションがタイムアウトするときなど)、加えた変更は失われます。
ブックに対して加えた変更を保存する必要がある場合は、GetWorkbook メソッドを使用した後に、SaveWorkbook メソッドまたは SaveWorkbookCopy メソッドを使用してブックを保存できます。Excel Web Services API の詳細については、「Microsoft.Office.Excel.Server.WebServices」を参照してください。
Excel Web サービスを使用する
Excel Web Services を以下のものとして使用することができます。
SOAP over HTTP で Web メソッドを呼び出すことによる、通常の Web サービス。
Microsoft.Office.Excel.Server.Webservices.dll に直接リンクすることによる、ローカル アセンブリ。
Microsoft.Office.Excel.Server.Webservices.dll に直接リンクする必要がある場合の詳細については、「ループバック SOAP 呼び出しと直接リンク」を参照してください。
Excel Web Services API の詳細については、「Microsoft.Office.Excel.Server.Webservices」名前空間のリファレンス ドキュメントを参照してください。Excel Web Services を使用してカスタム アプリケーションを開発する方法を示す例については、「[ウォークスルー] Excel Web Services を使用してカスタム アプリケーションを開発する」を参照してください。
ユーザー定義関数 (UDF)
Excel Services はマネージ コード UDF をサポートします。Excel Services UDF により、マネージ コードで記述されて SharePoint Server 2010 に展開されるカスタム関数を呼び出す数式をセル内で使用することができます。次の処理を行う UDF を作成できます。
カスタムの数学関数を呼び出す。
カスタム データ ソースからワークシートへデータを取得する。
UDF から Web サービスを呼び出す。
既存の Excel UDF など、既存のネイティブ コード ライブラリ関数の呼び出しをラップする。
Excel Services UDF の詳細については、「Excel Services UDF とは」を参照してください。
UDF を使用する
Excel Services UDF 定義については、Microsoft.Office.Excel.Server.Udf 名前空間のリファレンス ドキュメントを参照してください。
マネージ コード UDF を作成する方法の例については、「[ウォークスルー] マネージ コード UDF を開発する」を参照してください。
Excel Web Access
Excel Web Access Web パーツの拡張可能なプロパティを使用して、次の処理を行うことができます。
プログラムによって Excel Web Access を構成する。
プログラムによって Excel Web Access プロパティを変更する。
カスケード スタイル シート (CSS) を使用して、テーマの適用、または Web パーツ ページのブランド設定を行う。
Excel Web Access Web パーツの拡張性を使用する
参照情報
Excel Web Access の拡張可能なプロパティについては、Microsoft.Office.Excel.Server.WebUI 名前空間のリファレンス ドキュメントを参照してください。
Excel Web Access CSS については、CSS のリファレンス ドキュメントを参照してください。
Web パーツをプログラムによって構成する方法については、SharePoint Foundation SDK を参照してください。
ECMAScript (JavaScript、JScript)
SharePoint Server 2010 の Excel Services では、JavaScript のサポートが追加されました。Excel Services の JavaScript オブジェクト モデルを使用すると、開発者は、ページ上の Excel Web Access Web パーツ コントロールの自動化、カスタマイズ、およびその Web パーツ コントロールとの対話が可能になります。JavaScript オブジェクト モデルを使用することで、ページ上の 1 つ以上の Excel Web Access Web Part コントロールと対話するマッシュアップおよび他の統合ソリューションを構築できます。また、より多くの機能をブックおよびブック周辺のコードに追加できます。
Excel Services での JavaScript オブジェクト モデルの詳細については、「Ewa」名前空間参照ドキュメントを参照してください。
ECMAScript (JavaScript、JScript) を使用する
JavaScript の詳細については、以下のリンクを参照してください。
Excel Services での JavaScript オブジェクト モデルの詳細については、「Ewa」名前空間参照ドキュメントを参照してください。
コンテンツ エディター Web パーツを使用することにより、Excel Services で JavaScript オブジェクト モデルと情報をやり取りする方法の例については、「チュートリアル: コンテンツ エディター Web パーツを使用した開発」を参照してください。
REST API
Excel Services の REST API は、SharePoint Server 2010 の新機能です。REST API を使用することにより、URL によってブックの部分あるいは要素に直接アクセスすることができます。
また、Excel Services REST API に組み込まれた検出メカニズムを使用すると、開発者とユーザーは、特定のブック内に存在する要素についての情報を含む Atom フィードを提供することで、手動またはプログラムによってブックのコンテンツを探査できます。REST API を使用してアクセスできるリソースは、範囲、グラフ、表、およびピボットテーブルです。
REST API により提供される Atom フィードを使用すると、関心のあるデータに簡単にアクセスできます。フィードには横断可能な要素が含まれます。この要素を使用すると、あらゆるコードで、ブックに存在する要素を検出できます。
詳細については、「Excel Services REST API」を参照してください。
REST API を使用する
参照情報
REST サービスへのアクセス方法と、Excel Services 内での REST サービスのサンプル URI については、「Excel Services REST API にアクセスする」を参照してください。
Excel Services で、REST サービスのスキーマにアクセスする方法については、「スキーマへのアクセス」を参照してください。
関連項目
タスク
[ウォークスルー] Excel Web Services を使用してカスタム アプリケーションを開発する
[方法] Excel Web Access Web パーツをプログラムによってページに追加する