Excel Web Service にてエクセルを対話的に操作してみます。
最初に
Excel Web Service はWebブラウザーでユーザが対話的にアクセスできる機能です。
Office365/ SharePoint2007/SharePoint2010/ SharePoint2013 に搭載されている機能です。
Excelの操作性
- ローカルのExcelをアップロードして編集してみる。
- 値をいれてみると合計が計算される。
- 数式をいれても計算する。
印刷のイメージ
- まずは Office365(SharePoint Online) E1/E2/E3 での印刷機能はすごいです。以下のようにほぼローカルExcelとほぼ同じ
- ここでExcelをクリックするとWebブラウザーないで表示できます。
- 印刷プレビューをすると以下のようにExcelが表示される。
プログラムを作ってみる
開発の前に簡単な説明
Excel Servicesとは以下のURLように3つの機能のことです。今回はプログラムAPIである。3番目のExcel Web Servicesを使用します。
- Excel Calculation Services
- Excel Web Access
- Excel Web Services
Excel Web Services にはAPI Versionがあり、詳細は以下のバージョンによってAPIの数が異なります。
http://tech.exceedone.co.jp/office365-application-develop/office365-e3-p1-excel-web-services/
http://tech.exceedone.co.jp/office365-application-develop/office365-e3-p1-excel-web-services/
現在 E1/E2/E3 はAPI Version = 15, P1は API Version 14になっております。また、プログラム言語のインターフェイスはSOAP経由になっており、SOAPクライアントして機能する言語のJavaScript / .NET(C#, VB) 等で作成することができます。
今回はSilverLightで作成します。JavaScriptで作成するのは、ロジックは同じなので、以下のURLを参考にするといいと思います。
- Excel Services JavaScript APIを試してみました(2)
http://www.ka-net.org/blog/?p=1040
SilverLight でローカルSharePoint2010 Enterprise SP1 で作成(API Level 14)
Office365 E1/E2/E3 (SharePoint2010) (API Level 15)
参考
- SetRange/SetCell 等のMSDN サンプル
[SharePoint Server 2010 の Excel Services][Services][Excel Web サービス][[方法] 範囲の値を設定する]
http://msdn.microsoft.com/ja-jp/library/ms579185(v=office.14).aspx - Excel のクラウドな開発 (Office 365 SharePoint Online 編 : REST, JavaScript, etc)
http://blogs.msdn.com/b/tsmatsuz/archive/2011/07/15/office-365-sharepoint-online-excel-services-rest-api-javascript.aspx - 古い記事ですが、First “Hello World” code sample with the Excel Services APIs!
http://blogs.msdn.com/b/cumgranosalis/archive/2006/03/24/excelserviceshelloworld.aspx - クロスドメインの場合?(crossdomain.xml)Calling WCF Services from Silverlight in SharePoint… Cross Domain Nightmare!
http://foxitblogs.wordpress.com/2012/07/23/calling-wcf-services-from-silverlight-in-sharepoint-cross-domain-nightmare/ - JavaScriptで作りたければ参考になるかも。
Excel Services JavaScript APIを試してみました(2)
http://www.ka-net.org/blog/?p=1040 - Excel Service Class SharePoint2013 APIのLibrary
http://msdn.microsoft.com/en-us/library/ms492736.aspx - SharePoint Server 2010 の Excel Services を使用して Excel の計算能力を利用する
http://msdn.microsoft.com/ja-jp/library/hh124645(v=office.14).aspx - You do not have permissions to open this file on excel services
http://social.technet.microsoft.com/Forums/hu-HU/sharepointgenerallegacy/thread/7dac8be1-c23b-4f43-8abf-a5c8412e39d1 - このTopicsとは関係ないけど、クロスドメインについての解説
クロス ドメイン (Cross-Domain) 接続 (JSONP サービス) と諸注意
http://blogs.msdn.com/b/tsmatsuz/archive/2011/06/24/cross-site-cross-domain-browser-https-ssl-javascript-silverlight-access.aspx
コメントを残す